ARRAY_POSITION

ARRAY_POSITION

배열에서 요소가 처음 나타나는 인덱스를 반환해요.

출처: Snowflake 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 |
+----------------------------------------------------------------------+

더 알아보기