element_at Funkcja

Dotyczy:zaznacz pole wyboru oznaczone jako yes Databricks SQL check oznaczone tak Databricks Runtime

Zwraca element elementu arrayExpr at index.

Zwraca wartość dla keyelementu mapExpr .

Składni

element_at(arrayExpr, index)
element_at(mapExpr, key)

Argumenty

  • arrayExpr: wyrażenie ARRAY.
  • index: wyrażenie INTEGER.
  • mapExpr: wyrażenie MAP.
  • key: Wyrażenie zgodne z typem kluczy mapExpr

Zwraca

Jeśli pierwszym argumentem jest tablica:

  • Wynikiem jest typ elementów elementu expr.
  • abs(indeks) musi mieć długość od 1 do długości tablicy.
  • Jeśli index jest ujemna, funkcja uzyskuje dostęp do elementów z ostatniego do pierwszego.
  • Funkcja zgłasza błąd INVALID_ARRAY_INDEX_IN_ELEMENT_AT , jeśli abs(index) przekracza długość tablicy.

Jeśli pierwszy argument jest MAP i key nie można go dopasować do wpisu w mapExpr funkcji zwraca wartość null.

Uwaga

W środowisku Databricks Runtime, jeśli spark.sql.ansi.failOnElementNotExists funkcja false zwraca NULL zamiast zgłaszać błędy.

Przykłady

> 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