Funkcja element_at
Dotyczy: Databricks SQL Databricks Runtime
Zwraca element elementu arrayExpr
at index
.
Zwraca wartość mapExpr
dla .key
Składnia
element_at(arrayExpr, index)
element_at(mapExpr, key)
Argumenty
arrayExpr
: wyrażenie ARRAY.index
: wyrażenie INTEGER.mapExpr
: Wyrażenie MAP.key
: Wyrażenie pasujące do typu kluczymapExpr
Zwraca
Jeśli pierwszym argumentem jest tablica:
- Wynik jest typu elementów .
expr
- abs(index) musi należeć do przedziału od 1 do długości tablicy.
- Jeśli
index
jest ujemna, funkcja uzyskuje dostęp do elementów od ostatniego do pierwszego. - Funkcja zgłasza błąd INVALID_ARRAY_INDEX_IN_ELEMENT_AT , jeśli
abs(index)
przekracza długość tablicy.
Jeśli pierwszym argumentem jest MAP i key
nie można dopasować go do wpisu w mapExpr
funkcji zwraca wartość null.
Uwaga
W środowisku Databricks Runtime, jeśli spark.sql.ansi.failOnElementNotExists
funkcja zwraca false
NULL
zamiast zgłaszać błędy.
Przykłady
> 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