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 | | ] | +------------------+