Partilhar via


Função array_insert

Aplica-se a:Sinalizado como Sim Databricks SQL Sinalizado como Sim Databricks Runtime 13.3 LTS ou mais recente

Devolve um elemento expandido array em que elem é inserido na posição index.

Sintaxe

array_insert(array, index, elem)

Argumentos

  • array: Uma MATRIZ.
  • index: Uma expressão INTEGER diferente de zero especificando onde inserir elem. Se o índice for negativo elem é inserido em relação ao final da matriz.
  • elem: Uma expressão do mesmo tipo que os elementos de array.

Devoluções

Um ARRAY do mesmo tipo que array.

Notas

Todos os elementos que começam com index são deslocados por uma posição para abrir espaço para elem em index. Se index estiver fora da cardinalidade de array, a matriz é preenchida com NULLs.

Exemplos

> SELECT array_insert(array('a', 'b', 'c'), 1, 'z');
 ["z","a","b","c"]

> SELECT array_insert(array('a', 'b', 'c'), 0, 'z');
 Error

> SELECT array_insert(array('a', 'b', 'c'), -1, 'z');
 ["a","b","c","z"]

> SELECT array_insert(array('a', 'b', 'c'), 5, 'z');
 ["a","b","c",NULL,"z"]

> SELECT array_insert(array('a', 'b', 'c'), -5, 'z');
 ["z",NULL,"a","b","c"]

> SELECT array_insert(array('a', 'b', 'c'), 2, cast(NULL AS STRING));
 ["a",NULL,"b","c"]