다음을 통해 공유


element_at 기능

적용 대상: 예(예)로 표시된 확인 Databricks SQL 예(예)로 표시된 확인 Databricks 런타임

index에 있는 arrayExpr의 요소를 반환합니다.

keymapExpr 값을 반환합니다.

구문

element_at(arrayExpr, index)
element_at(mapExpr, key)

인수

  • arrayExpr: ARRAY 식입니다.
  • index: INTEGER 식입니다.
  • mapExpr: MAP 식입니다.
  • key: mapExpr의 키 형식과 일치하는 식입니다.

반품

첫 번째 인수가 ARRAY인 경우:

  • 결과는 expr의 요소 형식입니다.
  • abs(index)는 1에서 배열 길이 사이여야 합니다.
  • index가 음수인 경우 함수는 마지막부터 첫 번째 순으로 요소에 액세스합니다.
  • abs(index)가 배열 길이를 초과하는 경우 함수에서 INVALID_ARRAY_INDEX_IN_ELEMENT_AT 오류가 발생합니다.

첫 번째 인수가 MAP이고 keymapExpr의 항목과 일치시킬 수 없는 경우 함수에서 null을 반환합니다.

참고 항목

Databricks Runtime에서 spark.sql.ansi.failOnElementNotExistsfalse이면 함수는 오류를 발생시키는 대신 NULL을 반환합니다.

예제

> SELECT 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 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