[ ]
Оператор (знак скобки)
Область применения: Databricks SQL Databricks Runtime
Возвращает элемент массива или сопоставление по заданному индексу или ключу.
Синтаксис
expr [ keyExpr ]
Обратите внимание, что скобки здесь используются как литеральное значение, а не как обозначение необязательного синтаксиса.
Аргументы
expr
: выражение ARRAY или MAP.keyExpr
: еслиexpr
имеет тип ARRAY, то целочисленное значение. В противном случае — выражение, тип которого совпадает с типом ключа из выражения MAP.
Возвраты
Результату присваивается тип, соответствующий типу элемента массива или значения сопоставления.
Первый элемент массива имеет индекс 0.
keyExpr
Если ключ не является допустимым для MAP expr
Azure Databricks, возвращает значение NULL.
Если привязка keyExpr
к массиву expr
Azure Databricks не связана, возникает ошибка INVALID_ARRAY_INDEX.
Примечание.
В Databricks Runtime, если параметр false
spark.sql.ansi.enabled, оператор возвращается 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