Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime
Gibt das Element eines arrayExpr bei index zurück.
Gibt den Wert von mapExpr für key zurück.
Syntax
element_at(arrayExpr, index)
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 vonmapExprentspricht.
Gibt zurück
Wenn das erste Argument ein ARRAY ist:
- Das Ergebnis ist vom Typ der Elemente von
expr. - abs(index) muss zwischen 1 und der Länge des Arrays liegen.
- Wenn
indexnegativ ist, greift die Funktion vom letzten bis zum ersten Element auf Elemente zu. - Azure Databricks löst INVALID_INDEX_OF_ZERO aus, wenn
index0 ist. - Azure Databricks löst INVALID_ARRAY_INDEX_IN_ELEMENT_AT aus, wenn
abs(index)die Länge des Arrays überschreitet.
Wenn das erste Argument ein MAP-Element ist und key nicht mit einem Eintrag in mapExpr abgeglichen werden kann, gibt die Funktion NULL zurück.
Hinweis
Wenn spark.sql.ansi.failOnElementNotExists in Databricks Runtime gleich false ist, gibt die Funktion NULL zurück, anstatt einen Fehler auszulösen.
Häufige Fehlerbedingungen
Beispiele
> 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), 0);
Error: INVALID_INDEX_OF_ZERO
> 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