Compartilhar via


Função try_element_at

Aplica-se a: verificação marcada como sim SQL do Databricks verificação marcada como sim 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 de mapExpr

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 quando abs(index) excede o comprimento da matriz ou quando key 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