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

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

Распространенные условия ошибки

Примеры

> 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

> SELECT array(1, 2, 3)[5];
  Error: INVALID_ARRAY_INDEX