共用方式為


try_element_at函式

適用於:核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 10.4 LTS 和更新版本

如果 超出界限,則傳回 位於 index的 項目arrayExpr,否則index傳回 NULL。

針對 傳回的值mapExprkey,或 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