적용 대상:
Databricks SQL
Databricks Runtime 10.4 LTS 이상
arrayExpr의 index 요소 또는 NULL(index가 경계를 벗어난 경우)을 반환합니다.
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가 음수인 경우 함수는 마지막부터 첫 번째 순으로 요소에 액세스합니다. - 이 함수는
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