try_element_at 함수

적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks Runtime 10.4 LTS 이상

indexarrayExpr 요소 또는 NULL(index가 경계를 벗어난 경우)을 반환합니다.

keymapExpr 값 또는 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