適用対象:
Databricks SQL
Databricks Runtime 10.4 LTS 以降
arrayExpr にある index の要素を返します。または index が範囲外の場合は NULL を返します。
mapExpr の key の値を、key が存在しない場合は NULL を返します。
構文
try_element_at(arrayExpr, index)
try_element_at(mapExpr, key)
引数
-
arrayExpr: ARRAY 式。 -
index: INTEGER 式。 -
mapExpr: MAP 式。 -
key:mapExprのキーの型に一致する式
戻り値
最初の引数が ARRAY の場合:
- 結果は、
exprの要素の型になります。 - abs(index) は 0 にしないでください。
-
indexが負の場合、この関数は最後から最初の要素にアクセスします。 - この関数は、
NULLが配列の長さを超えた場合、またはabs(index)がマップに存在しない場合、keyを返します。
例
> 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