try_element_at
기능
적용 대상: Databricks SQL Databricks Runtime 10.4 LTS 이상
index
의 arrayExpr
요소 또는 NULL(index
가 경계를 벗어난 경우)을 반환합니다.
key
의 mapExpr
값 또는 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