try_element_at
函式
適用於: Databricks SQL Databricks Runtime 10.4 LTS 和更新版本
如果 超出界限,則傳回 位於 index
的 項目arrayExpr
,否則index
傳回 NULL。
針對 傳回的值mapExpr
key
,或 NULL 識別碼key
不存在。
語法
try_element_at(arrayExpr, index)
try_element_at(mapExpr, key)
引數
arrayExpr
:ARRAY 表達式。index
:INTEGER 運算式。mapExpr
:MAP 運算式。key
:符合 索引鍵類型的表達式mapExpr
傳回
如果第一個自變數是ARRAY:
- 結果是 專案的型
expr
別。 - abs(index) 不得為 0。
- 如果
index
是負數,函式會從最後一個存取元素到第一個。 - 如果
abs(index)
超過陣列的長度,或key
不存在於對應中,則函式會傳回NULL
。
範例
> SELECT try_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 try_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