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

適用於:核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

傳回指定索引或索引鍵的陣列項目或對應值。

語法

expr [ keyExpr ]

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

引數

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

傳回

結果類型是 ARRAY 的元素類型或 MAP 的實值型別。

ARRAY 的第一個項目位於索引 0。

如果 不是 MAP Azure Databricks 會回傳 null。

如果 keyExpr 對陣列 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

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