[ ] (括弧符號) 運算符號

適用於: 檢查標示為是 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