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> )
Copy

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 de array, 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);
Copy
+-------------------------------+
| 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);
Copy
+--------------------------------+
| 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);
Copy
+------------------+
| ARRAY_REMOVE_AT( |
|   [2, 5, 7],     |
|   10)            |
|------------------|
| [                |
|   2,             |
|   5,             |
|   7              |
| ]                |
+------------------+