- Categorias:
Funções de dados semiestruturados e estruturados (Matriz/objeto)
ARRAY_REMOVE_AT¶
Dada uma fonte ARRAY, retorna uma ARRAY com o elemento na posição especificada removido.
Por exemplo, ARRAY_REMOVE_AT([2, 5, 7], 0)
retorna uma ARRAY com o elemento na posição 0 removido ([5, 7]
).
Sintaxe¶
ARRAY_REMOVE_AT( <array> , <position> )
Argumentos¶
array
A matriz de origem.
position
A posição (baseada em zero) do elemento a ser removido. A função remove o elemento nessa posição.
Uma posição negativa é interpretada como um índice da parte de trás da matriz (por exemplo,
-1
remove o último elemento da matriz).
Retornos¶
Uma ARRAY com o elemento na posição especificada removido.
Se position
for NULL, a função retornará NULL.
Notas de uso¶
Se o valor absoluto de
position
exceder o comprimento dearray
, a função retornaráarray
sem nenhum elemento removido.
Exemplos¶
O exemplo a seguir retorna uma ARRAY com elementos com o primeiro elemento removido.
SELECT ARRAY_REMOVE_AT(
[2, 5, 7],
0);
+-------------------------------+
| ARRAY_REMOVE_AT([2, 5, 7], 0) |
|-------------------------------|
| [ |
| 5, |
| 7 |
| ] |
+-------------------------------+
O exemplo a seguir retorna uma ARRAY com elementos com o último elemento removido.
SELECT ARRAY_REMOVE_AT(
[2, 5, 7],
-1);
+--------------------------------+
| ARRAY_REMOVE_AT([2, 5, 7], -1) |
|--------------------------------|
| [ |
| 2, |
| 5 |
| ] |
+--------------------------------+
No exemplo a seguir, position
é maior que o comprimento de ARRAY, portanto, a função retorna ARRAY sem fazer nenhuma alteração.
SELECT ARRAY_REMOVE_AT(
[2, 5, 7],
10);
+------------------+
| ARRAY_REMOVE_AT( |
| [2, 5, 7], |
| 10) |
|------------------|
| [ |
| 2, |
| 5, |
| 7 |
| ] |
+------------------+