Função try_element_at
Aplica-se a: SQL do Databricks Databricks Runtime 10.4 LTS e versões posteriores
Retorna o elemento de um arrayExpr
em index
, ou NULL quando index
está fora do limite.
Retorna o valor de mapExpr
para key
, ou NULL quando key
não existe.
Sintaxe
try_element_at(arrayExpr, index)
try_element_at(mapExpr, key)
Argumentos
arrayExpr
: uma expressão MATRIZ.index
: uma expressão INTEGER.mapExpr
: uma expressão MAP.key
: uma expressão que corresponde ao tipo das chaves demapExpr
Retornos
Se o primeiro argumento for uma MATRIZ:
- O resultado é do tipo dos elementos de
expr
. - abs(index) não pode ser 0.
- Se
index
for negativo, a função acessará elementos do último ao primeiro. - A função retorna
NULL
quandoabs(index)
excede o comprimento da matriz ou quandokey
não existe no mapa.
Exemplos
> SELECT try_element_at(array(1, 2, 3), 2);
2
> SELECT try_element_at(array(1, 2, 3), 5);
NULL
> SELECT element_at(array(1, 2, 3), 5);
Error: INVALID_ARRAY_INDEX_IN_ELEMENT_AT
> SELECT try_element_at(map(1, 'a', 2, 'b'), 2);
b
> SELECT element_at(map(1, 'a', 2, 'b'), 3);
NULL
> SELECT try_element_at(map(1, 'a', 2, 'b'), 3);
NULL