ARRAY_POSITION
ARRAY_POSITION
배열에서 요소가 처음 나타나는 인덱스를 반환해요.
본문
구문 (Syntax)
ARRAY_POSITION( , )
인자 (Arguments)
value_expr—array에서 찾을 값이에요.array가 반구조적(semi-structured) ARRAY이면,value_expr은 VARIANT로 평가되어야 해요.array가 구조적(structured) ARRAY이면,value_expr은 ARRAY의 타입과 비교 가능한 타입으로 평가되어야 해요.
array— 검색할 ARRAY예요.
반환 값 (Returns)
이 함수는 array에서 value_expr의 위치를 지정하는 INTEGER를 반환해요.
사용 노트 (Usage Notes)
- 반환 값은 1 기반이 아니라 0 기반이에요. 즉,
value_expr이 배열의 첫 번째 요소와 일치하면 이 함수는 1이 아니라 0을 반환해요. - 값이 ARRAY에 포함되어 있지 않으면 함수는 NULL을 반환해요.
value_expr에 NULL을 지정하면 함수는 배열에서 첫 번째 NULL의 위치를 반환해요.
예제 (Examples)
이 함수를 사용하는 방법을 보여주는 예제들이에요:
SELECT ARRAY_POSITION('hello'::variant, array_construct('hello', 'hi'));
+------------------------------------------------------------------+
| ARRAY_POSITION('HELLO'::VARIANT, ARRAY_CONSTRUCT('HELLO', 'HI')) |
|------------------------------------------------------------------|
| 0 |
+------------------------------------------------------------------+
SELECT ARRAY_POSITION('hi'::variant, array_construct('hello', 'hi'));
+---------------------------------------------------------------+
| ARRAY_POSITION('HI'::VARIANT, ARRAY_CONSTRUCT('HELLO', 'HI')) |
|---------------------------------------------------------------|
| 1 |
+---------------------------------------------------------------+
SELECT ARRAY_POSITION('hello'::variant, array_construct('hola', 'bonjour'));
+----------------------------------------------------------------------+
| ARRAY_POSITION('HELLO'::VARIANT, ARRAY_CONSTRUCT('HOLA', 'BONJOUR')) |
|----------------------------------------------------------------------|
| NULL |
+----------------------------------------------------------------------+
더 알아보기
- Snowflake 반구조적·구조적 데이터 함수 — 관련 배열 함수 전체 목록