ARRAYS_OVERLAP
ARRAYS_OVERLAP
두 배열이 공통 요소를 하나 이상 가지고 있는지 비교해요. 공통 요소가 하나 이상 있으면 TRUE를, 그렇지 않으면 FALSE를 반환해요. 이 함수는 NULL 안전(NULL-safe) 함수로, 같음 비교 시 NULL을 알려진 값으로 취급해요.
본문
참고 항목: ARRAY_INTERSECTION
구문 (Syntax)
ARRAYS_OVERLAP( , )
사용 노트 (Usage Notes)
- 객체를 비교할 때, TRUE를 반환하려면 객체가 동일해야 해요. 자세한 내용은 이 주제의 예제 섹션을 참고해요.
- 두 인자 모두 구조적(structured) ARRAY이거나 반구조적(semi-structured) ARRAY여야 해요.
- 구조적 ARRAY를 전달하는 경우, 두 번째 인자의 ARRAY는 첫 번째 인자의 ARRAY와 비교 가능해야 해요.
예제 (Examples)
다음은 몇 가지 예제예요:
SELECT ARRAYS_OVERLAP(array_construct('hello', 'aloha'),
array_construct('hello', 'hi', 'hey'))
AS Overlap;
+---------+
| OVERLAP |
|---------|
| True |
+---------+
SELECT ARRAYS_OVERLAP(array_construct('hello', 'aloha'),
array_construct('hola', 'bonjour', 'ciao'))
AS Overlap;
+---------+
| OVERLAP |
|---------|
| False |
+---------+
SELECT ARRAYS_OVERLAP(array_construct(object_construct('a',1,'b',2), 1, 2),
array_construct(object_construct('b',2,'c',3), 3, 4))
AS Overlap;
+---------+
| OVERLAP |
|---------|
| False |
+---------+
SELECT ARRAYS_OVERLAP(array_construct(object_construct('a',1,'b',2), 1, 2),
array_construct(object_construct('a',1,'b',2), 3, 4))
AS Overlap;
+---------+
| OVERLAP |
|---------|
| True |
+---------+
다음 예제는 NULL 값이 다른 NULL 값과 동일한 것으로 간주된다는 것을 보여줘요. 각 배열에 NULL 값이 포함되면, 다른 (NULL이 아닌) 값들이 겹치지 않더라도 두 배열은 겹치는 것으로 간주돼요:
SELECT ARRAYS_OVERLAP(ARRAY_CONSTRUCT(1, 2, NULL),
ARRAY_CONSTRUCT(3, NULL, 5))
AS Overlap;
+---------+
| OVERLAP |
|---------|
| True |
+---------+
더 알아보기
- Snowflake 반구조적·구조적 데이터 함수 — 관련 배열 함수 전체 목록