適用於:
Databricks SQL
Databricks Runtime
傳回指定索引或索引鍵的陣列項目或對應值。
語法
expr [ keyExpr ]
請注意,這裡的方括弧的使用是常值文字,而不是表示選擇性語法。
引數
-
expr:ARRAY 或 MAP 運算式。 -
keyExpr:如果expr是ARRAY,則為整數數值。 否則,符合 MAP 索引鍵類型的表達式。
傳回
結果類型是 ARRAY 的元素類型或 MAP 的實值型別。
ARRAY 的第一個項目位於索引 0。
如果
如果 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
> SELECT array(1, 2, 3)[5];
Error: INVALID_ARRAY_INDEX