try_element_at
-Funktion
Gilt für: Databricks SQL Databricks Runtime 10.4 LTS und höher
Gibt das Element eines Arrayausdrucks (arrayExpr
) bei index
zurück (oder NULL, wenn index
außerhalb des gültigen Bereichs liegt).
Gibt den Wert von mapExpr
für key
zurück (oder NULL, wenn key
nicht vorhanden ist).
Syntax
try_element_at(arrayExpr, index)
try_element_at(mapExpr, key)
Argumente
arrayExpr
: Ein ARRAY-Ausdruck.index
: Ein INTEGER-Ausdruck.mapExpr
: Ein MAP-Ausdruck.key
: Ein Ausdruck, der dem Typ der Schlüssel vonmapExpr
entspricht.
Gibt zurück
Wenn das erste Argument ein ARRAY ist:
- Das Ergebnis ist vom Typ der Elemente von
expr
. - „abs(index)“ darf nicht 0 sein.
- Wenn
index
negativ ist, greift die Funktion vom letzten bis zum ersten Element auf Elemente zu. - Die Funktion gibt
NULL
zurück, wennabs(index)
die Länge des Arrays übersteigt oder wennkey
in der Zuordnung nicht vorhanden ist.
Beispiele
> 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