Freigeben über


try_element_at-Funktion

Gilt für: Häkchen ja Databricks SQL Häkchen gesetzt ja 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 von mapExpr 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, wenn abs(index) die Länge des Arrays übersteigt oder wenn key 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