element_at
기능
적용 대상: Databricks SQL Databricks 런타임
index
에 있는 arrayExpr
의 요소를 반환합니다.
key
의 mapExpr
값을 반환합니다.
구문
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이고 key
를 mapExpr
의 항목과 일치시킬 수 없는 경우 함수에서 null을 반환합니다.
참고 항목
Databricks Runtime에서 spark.sql.ansi.failOnElementNotExists
가 false
이면 함수는 오류를 발생시키는 대신 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