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


[ ] Оператор (знак скобки)

Область применения: флажок 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, если параметр falsespark.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