Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Funktionen
Gäller för: Databricks SQL
Databricks Runtime
Returnerar elementet i ett arrayExpr
på index
.
Returnerar värdet mapExpr
för för key
.
Syntax
element_at(arrayExpr, index)
element_at(mapExpr, key)
Argument
arrayExpr
: Ett ARRAY-uttryck.index
: Ett INTEGER-uttryck.mapExpr
: Ett MAP-uttryck.key
: Ett uttryck som matchar typen av nycklar förmapExpr
Returer
Om det första argumentet är en MATRIS:
- Resultatet är av typen av elementen
expr
i . - abs(index) måste vara mellan 1 och matrisens längd.
- Om
index
är negativt kommer funktionen åt element från den sista till den första. - Funktionen genererar INVALID_ARRAY_INDEX_IN_ELEMENT_AT fel om
abs(index)
överskrider matrisens längd.
Om det första argumentet är en MAP och key
inte kan matchas med en post i mapExpr
funktionen returneras null.
Kommentar
I Databricks Runtime, om spark.sql.ansi.failOnElementNotExists
är false
funktionen returnerar NULL
i stället för att skapa fel.
Exempel
> 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