카테고리:

반정형 및 정형 데이터 함수 (배열/오브젝트)

ARRAYS_OVERLAP

두 배열에 공통 요소가 하나 이상 있는지 비교합니다. 공통 요소가 하나 이상 있는 경우 TRUE를 반환합니다. 그렇지 않은 경우 FALSE를 반환합니다. 이 함수는 NULL에 대해 안전합니다. 즉, NULL을 같음을 비교하기 위해 알려진 값으로 취급합니다.

참고 항목:

ARRAY_INTERSECTION

구문

ARRAYS_OVERLAP( <array1> , <array2> )
Copy

사용법 노트

  • 오브젝트를 비교할 때 TRUE를 반환하려면 오브젝트가 동일해야 합니다. 자세한 내용은 이 항목에 있는 를 참조하십시오.

  • 정형 ARRAY를 전달하는 경우 두 번째 인자의 ARRAY는 첫 번째 인자의 ARRAY와 비교 가능 해야 합니다.

다음은 몇 가지 예입니다.

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    |
+---------+
Copy

다음 예는 NULL 값이 다른 NULL 값과 동일한 것으로 간주됨을 보여줍니다. 각 배열이 NULL 값을 포함하는 경우, 다른 (NULL이 아닌) 값이 겹치지 않더라도 배열이 겹칩니다.

SELECT ARRAYS_OVERLAP(ARRAY_CONSTRUCT(1, 2, NULL),
                      ARRAY_CONSTRUCT(3, NULL, 5))
 AS Overlap;
+---------+
| OVERLAP |
|---------|
| True    |
+---------+
Copy