Funkce try_element_at
Platí pro: Databricks SQL Databricks Runtime 10.4 LTS a vyšší
Vrátí prvek at arrayExpr
index
, nebo NULL pokud index
je mimo vazbu.
Vrátí hodnotu mapExpr
pro key
hodnotu , nebo NULL ID key
neexistuje.
Syntaxe
try_element_at(arrayExpr, index)
try_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
Návraty
Pokud je prvním argumentem POLE:
- Výsledek je typu prvků
expr
. - abs(index) nesmí být 0.
- Pokud
index
je funkce záporná, přistupuje k prvkům od posledního k prvnímu. - Funkce vrátí
NULL
, pokudabs(index)
překročí délku pole nebo pokudkey
v mapě neexistuje.
Příklady
> 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