[ ] (括弧符號) 運算子

適用于:核取標示為是 Databricks SQL 檢查標示為是 Databricks Runtime

傳回指定索引或索引鍵的陣列專案或對應值。

語法

expr [ keyExpr ]

請注意,此處的方括弧用法是常值文字,而不是表示選擇性語法。

參數

  • expr:ARRAY 或 MAP 運算式。
  • keyExpr:如果 expr 是 ARRAY,則為整數數值。 否則為符合 MAP 索引鍵類型的運算式。

返回

結果類型是 ARRAY 的專案類型或 MAP 的實值型別。

ARRAY 的第一個專案位於索引 0。

keyExpr如果 不是 MAP expr Azure Databricks 的有效金鑰,則會傳回 null。

keyExpr如果 已超出 ARRAY expr Azure Databricks 的界限,就會引發INVALID_ARRAY_INDEX錯誤。

注意

在 Databricks Runtime 中,如果 spark.sql.ansi.enabledfalse ,運算子會 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