- Categorias:
Funções de dados semiestruturados e estruturados (Matriz/objeto)
ARRAY_REMOVE¶
Dada uma fonte ARRAY, retorna uma ARRAY com os elementos do valor especificado removidos.
Por exemplo, ARRAY_REMOVE([2, 5, 7, 5, 1], 5)
retorna uma ARRAY com os elementos iguais a 5 removidos ([2, 7, 1]
).
Sintaxe¶
ARRAY_REMOVE( <array> , <value_of_elements_to_remove> )
Argumentos¶
array
A matriz de origem.
value_of_elements_to_remove
O valor VARIANT dos elementos a serem removidos. A função remove elementos iguais a esse valor.
Se você especificar um valor VARCHAR, deverá primeiro converter o valor para VARIANT.
Retornos¶
Uma ARRAY com todos os elementos iguais ao valor especificado removidos.
Se value_of_elements_to_remove
for NULL, a função retornará NULL.
Notas de uso¶
Se todos os elementos em
array
forem iguais avalue_of_elements_to_remove
, a função retornará uma ARRAY vazia.
Exemplos¶
O exemplo a seguir retorna uma ARRAY com elementos com o valor 5 removido.
SELECT ARRAY_REMOVE(
[1, 5, 5.00, 5.00::DOUBLE, '5', 5, NULL],
5);
+---------------------------------------------+
| ARRAY_REMOVE( |
| [1, 5, 5.00, 5.00::DOUBLE, '5', 5, NULL], |
| 5) |
|---------------------------------------------|
| [ |
| 1, |
| "5", |
| undefined |
| ] |
+---------------------------------------------+
O exemplo a seguir remove os elementos com o valor 5 de uma ARRAY que contém apenas elementos com o valor 5. A função retorna uma ARRAY vazia.
SELECT ARRAY_REMOVE([5, 5], 5);
+-------------------------+
| ARRAY_REMOVE([5, 5], 5) |
|-------------------------|
| [] |
+-------------------------+
O exemplo a seguir remove elementos com o valor 'a'
de uma ARRAY. Conforme mostrado no exemplo, você deve converter o valor como VARIANT.
SELECT ARRAY_REMOVE(
['a', 'b', 'a', 'c', 'd', 'a'],
'a'::VARIANT);
+-----------------------------------+
| ARRAY_REMOVE( |
| ['A', 'B', 'A', 'C', 'D', 'A'], |
| 'A'::VARIANT) |
|-----------------------------------|
| [ |
| "b", |
| "c", |
| "d" |
| ] |
+-----------------------------------+