Função array_insert
Aplica-se a: SQL do Databricks Databricks Runtime 13.3 LTS e versões posteriores
Retorna um array
expandido em que elem
é inserido na posição index
.
Sintaxe
array_insert(array, index, elem)
Argumentos
array
: uma ARRAY.index
: uma expressão INTEGER diferente de zero especificando onde inserirelem
. Se o índice for negativo, será inseridoelem
em relação ao final da matriz.elem
: uma expressão do mesmo tipo dos elementos doarray
.
Retornos
Uma ARRAY do mesmo tipo de array
.
Observações
Todos os elementos que começam com index
são deslocados em uma posição para abrir espaço para elem
em index
.
Se index
estiver fora da cardinalidade array
, a matriz será preenchida 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"]