element_at
Funkcja
Dotyczy: Databricks SQL Databricks Runtime
Zwraca element elementu arrayExpr
at index
.
Zwraca wartość dla key
elementu mapExpr
.
Składni
element_at(arrayExpr, index)
element_at(mapExpr, key)
Argumenty
arrayExpr
: wyrażenie ARRAY.index
: wyrażenie INTEGER.mapExpr
: wyrażenie MAP.key
: Wyrażenie zgodne z typem kluczymapExpr
Zwraca
Jeśli pierwszym argumentem jest tablica:
- Wynikiem jest typ elementów elementu
expr
. - abs(indeks) musi mieć długość od 1 do długości tablicy.
- Jeśli
index
jest ujemna, funkcja uzyskuje dostęp do elementów z ostatniego do pierwszego. - Funkcja zgłasza błąd INVALID_ARRAY_INDEX_IN_ELEMENT_AT , jeśli
abs(index)
przekracza długość tablicy.
Jeśli pierwszy argument jest MAP i key
nie można go dopasować do wpisu w mapExpr
funkcji zwraca wartość null.
Uwaga
W środowisku Databricks Runtime, jeśli spark.sql.ansi.failOnElementNotExists
funkcja false
zwraca 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