Поделиться через


Функция try_element_at

Область применения: флажок Databricks SQL флажок Databricks Runtime 10.4 LTS и выше

Возвращает элемент arrayExpr, расположенный на позиции index, или NULL, если index выходит за пределы допустимых значений.

Возвращает значение mapExpr для key или NULL, если key не существует.

Синтаксис

try_element_at(arrayExpr, index)
try_element_at(mapExpr, key)

Аргументы

  • arrayExpr: выражение ARRAY.
  • index: выражение INTEGER.
  • mapExpr: выражение MAP.
  • key: выражение, соответствующее типу ключей mapExpr

Возвраты

Если первый аргумент — ARRAY (МАССИВ):

  • результат содержит элементы типа expr;
  • abs(index) не может иметь значение 0.
  • Если index имеет отрицательное значение, функция оценивает элементы в обратном порядке.
  • Функция возвращает NULL, если значение abs(index) превышает длину массива или key не существует в этом сопоставлении.

Примеры

> SELECT try_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 try_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