適用於:
Databricks SQL
Databricks Runtime
返回 arrayExpr 處的 index 元素。
傳回 mapExpr 的 key 值。
語法
element_at(arrayExpr, index)
element_at(mapExpr, key)
引數
-
arrayExpr:ARRAY 表達式。 -
index:INTEGER 運算式。 -
mapExpr:MAP 運算式。 -
key:符合 索引鍵類型的表達式mapExpr
傳回
如果第一個自變數是ARRAY:
- 結果是 專案的型
expr別。 - abs(index) 必須介於 1 到陣列的長度之間。
- 如果
index是負數,函式會從最後一個存取元素到第一個。 - 如果超過數位的長度,函式會
abs(index)錯誤。
如果第一個自變數是 MAP,且 key 無法比對函式中的 mapExpr 項目會傳回 null。
注意
在 Databricks Runtime 中,如果 spark.sql.ansi.failOnElementNotExists 是 false 函式會傳回 NULL ,而不是引發錯誤。
範例
> SELECT element_at(array(1, 2, 3), 2);
2
> SELECT try_element_at(array(1, 2, 3), 5);
NULL
> SELECT element_at(array(1, 2, 3), 5);
Error: INVALID_ARRAY_INDEX_IN_ELEMENT_AT
> SELECT element_at(map(1, 'a', 2, 'b'), 2);
b
> SELECT element_at(map(1, 'a', 2, 'b'), 3);
NULL
> SELECT try_element_at(map(1, 'a', 2, 'b'), 3);
NULL