Partilhar via


Função try_element_at

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

Retorna o elemento de um arrayExpr at index, ou NULL se index estiver fora do limite.

Retorna o valor de mapExpr for key, ou NULL id key não existe.

Sintaxe

try_element_at(arrayExpr, index)
try_element_at(mapExpr, key)

Argumentos

  • arrayExpr: Uma expressão ARRAY.
  • index: Uma expressão INTEIRA.
  • mapExpr: Uma expressão MAP.
  • key: Uma expressão correspondente ao tipo das teclas de mapExpr

Devoluções

Se o primeiro argumento for um ARRAY:

  • O resultado é do tipo dos elementos de expr.
  • abs(index) não deve ser 0.
  • Se index for negativa, a função acessa elementos do último para o primeiro.
  • A função retorna NULL se abs(index) exceder o comprimento da matriz, ou se key não existir 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