Sdílet prostřednictvím


Funkce element_at

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Vrátí prvek znaku arrayExpr at 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

Návraty

Pokud je prvním argumentem POLE:

  • Výsledek je typu prvků expr.
  • abs(index) musí být mezi 1 a délkou matice.
  • Pokud index je funkce záporná, přistupuje k prvkům od posledního k prvnímu.
  • 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 ji spárovat s položkou ve mapExpr funkci, vrátí hodnotu null.

Poznámka:

Pokud spark.sql.ansi.failOnElementNotExists je false funkce v databricks Runtime, 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