Udostępnij za pośrednictwem


Funkcja element_at

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

Zwraca element elementu arrayExpr at index.

Zwraca wartość mapExpr dla .key

Składnia

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

Argumenty

  • arrayExpr: wyrażenie ARRAY.
  • index: wyrażenie INTEGER.
  • mapExpr: Wyrażenie MAP.
  • key: Wyrażenie pasujące do typu kluczy mapExpr

Zwraca

Jeśli pierwszym argumentem jest tablica:

  • Wynik jest typu elementów .expr
  • abs(index) musi należeć do przedziału od 1 do długości tablicy.
  • Jeśli index jest ujemna, funkcja uzyskuje dostęp do elementów od ostatniego do pierwszego.
  • Funkcja zgłasza błąd INVALID_ARRAY_INDEX_IN_ELEMENT_AT , jeśli abs(index) przekracza długość tablicy.

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

Uwaga

W środowisku Databricks Runtime, jeśli spark.sql.ansi.failOnElementNotExists funkcja zwraca false 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