Partager via


Fonction element_at

S’applique à : case marquée oui Databricks SQL case marquée oui Databricks Runtime

Retourne l’élément d’un arrayExpr à index.

Retourne la valeur de mapExpr pour key.

Syntaxe

element_at(arrayExpr, index)
element_at(mapExpr, key)

Arguments

  • arrayExpr : expression ARRAY.
  • index : expression de type INTEGER.
  • mapExpr : expression de type MAP.
  • key : expression correspondant au type des clés de mapExpr

Retours

Si le premier argument est un tableau (ARRAY) :

  • Le résultat est du type des éléments de expr.
  • La valeur abs(index) doit être comprise entre 1 et la longueur du tableau.
  • Si la valeur index est négative, la fonction accède aux éléments du dernier au premier.
  • La fonction déclenche une erreur INVALID_ARRAY_INDEX_IN_ELEMENT_AT si la valeur abs(index) dépasse la longueur du tableau.

Si le premier argument est un MAP et si key ne peut pas être mis en correspondance avec une entrée dans mapExpr, la fonction retourne Null.

Notes

Dans Databricks Runtime, si spark.sql.ansi.failOnElementNotExists a la valeur false, la fonction retourne NULL au lieu de déclencher des erreurs.

Exemples

> SELECT 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 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