element_at
Funkce
Platí pro: , kontrola Databricks SQL Databricks Runtime
Vrátí prvek objektu arrayExpr
v index
.
Vrátí hodnotu mapExpr
pro key
.
Syntaxe
element_at(arrayExpr, index)
element_at(mapExpr, key)
Argumenty
arrayExpr
: Výraz ARRAY.index
: Výraz INTEGER.mapExpr
: Výraz MAP.key
: Výraz odpovídající typu klíčůmapExpr
Vrátí
Pokud je prvním argumentem POLE:
- Výsledek je typu prvků .
expr
- abs(index) musí být mezi 1 a délkou pole.
- Pokud
index
je hodnota záporná, funkce přistupuje k prvkům od posledního po první. - Funkce vyvolá INVALID_ARRAY_INDEX_IN_ELEMENT_AT chybu, pokud
abs(index)
překročí délku pole.
Pokud je prvním argumentem map a key
nelze ho spárovat s položkou ve mapExpr
funkci, vrátí funkce hodnotu null.
Poznámka
V modulu Databricks Runtime funkce pokud spark.sql.ansi.failOnElementNotExists
je false
vrátí NULL
místo vyvolání chyb.
Příklady
> 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