Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Область применения:
Databricks SQL
Databricks Runtime
Возвращает элемент arrayExpr в позиции index.
Возвращает значение mapExpr для key.
Синтаксис
element_at(arrayExpr, index)
element_at(mapExpr, key)
Аргументы
-
arrayExpr: выражение ARRAY. -
index: выражение INTEGER. -
mapExpr: выражение MAP. -
key: выражение, соответствующее типу ключейmapExpr
Возвраты
Если первый аргумент — ARRAY (МАССИВ):
- результат содержит элементы типа
expr; - abs(index) должен находиться в диапазоне от 1 до длины массива.
- Если
indexимеет отрицательное значение, функция оценивает элементы в обратном порядке. - Azure Databricks вызывает INVALID_INDEX_OF_ZERO если значение
indexравно 0. - Azure Databricks вызывает INVALID_ARRAY_INDEX_IN_ELEMENT_AT если
abs(index)превышает длину массива.
Если первый аргумент является MAP и key не может быть сопоставлен с записью в mapExpr функции возвращает значение NULL.
Примечание.
В Databricks Runtime, если spark.sql.ansi.failOnElementNotExists функция false возвращается NULL вместо возникновения ошибок.
Распространенные условия ошибки
Примеры
> 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), 0);
Error: INVALID_INDEX_OF_ZERO
> 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