[ ]
Оператор (знак квадратных скобок)
Область применения: Databricks SQL Databricks Runtime
Возвращает значение элемента массива или карты по заданному индексу или ключу.
Синтаксис
expr [ keyExpr ]
Обратите внимание, что квадратные скобки здесь используются в качестве литерального текста и не указывают на необязательный синтаксис.
Аргументы
expr
: выражение ARRAY или MAP.keyExpr
: еслиexpr
является МАССИВом целочисленного числа. В противном случае выражение, соответствующее типу ключа MAP.
Возвращает
Тип результата — это тип элемента ARRAY или тип значения MAP.
Первый элемент array имеет индекс 0.
keyExpr
Если не является допустимым ключом для MAP, expr
Azure Databricks возвращает значение NULL.
keyExpr
Если объект выходит за пределы привязки массива, expr
Azure Databricks вызывает ошибку INVALID_ARRAY_INDEX.
Примечание
В Databricks Runtime, если spark.sql.ansi.enabled имеет значение false
, оператор возвращает NULL
вместо ошибки за пределы границ.
Примеры
> SELECT a[2] FROM VALUES(array(10, 20, 30)) AS T(a);
30
> SELECT m[1] FROM VALUES(map(1, 'Hello', 2, 'World')) AS T(m);
Hello