element_at
-functie
Van toepassing op: Databricks SQL
Databricks Runtime
Retourneert het element van een arrayExpr
at index
.
Retourneert de waarde van mapExpr
voor key
.
Syntaxis
element_at(arrayExpr, index)
element_at(mapExpr, key)
Argumenten
arrayExpr
: Een MATRIX-expressie.index
: Een INTEGER-expressie.mapExpr
: Een MAP-expressie.key
: Een expressie die overeenkomt met het type sleutels vanmapExpr
Retouren
Als het eerste argument een MATRIX is:
- Het resultaat is van het type van de elementen van
expr
. - abs(index) moet tussen 1 en de lengte van de matrix zijn.
- Als
index
dit negatief is, krijgt de functie toegang tot elementen van de laatste tot de eerste. - De functie genereert INVALID_ARRAY_INDEX_IN_ELEMENT_AT fout als
abs(index)
de lengte van de matrix wordt overschreden.
Als het eerste argument een MAP is en key
niet kan worden vergeleken met een vermelding in mapExpr
de functie, retourneert null.
Notitie
Als in Databricks Runtime spark.sql.ansi.failOnElementNotExists
false
de functie wordt geretourneerd NULL
in plaats van fouten op te geven.
Voorbeelden
> 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