Função array_insert
Aplica-se a: Databricks SQL 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 inserirelem
. Se o índice for negativoelem
é inserido em relação ao final da matriz.elem
: Uma expressão do mesmo tipo que os elementos dearray
.
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 NULL
s.
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"]