Partilhar via


Função array_insert

Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime 13.3 LTS e superior

Devolve um local expandido array onde elem está inserido na index posição.

Sintaxe

array_insert(array, index, elem)

Argumentos

  • array: Uma MATRIZ.
  • index: Uma expressão inteira 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 da matriz é acolchoado array 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"]