[ ] Оператор (знак квадратных скобок)

Область применения:проверка помечено да 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