본문으로 건너뛰기
최종 수정: 에

BITMAP_OR

설명​

둘 이상의 Bitmap의 합집합을 계산하고 새로운 Bitmap을 반환합니다.

구문​

BITMAP_OR(<bitmap1>, <bitmap2>, ..., <bitmapN>)

매개변수​

매개변수설명
<bitmap1>첫 번째 Bitmap
<bitmap2>두 번째 Bitmap
......
<bitmapN>N번째 Bitmap

반환값​

여러 Bitmap의 합집합을 나타내는 Bitmap입니다.

예제​

동일한 두 Bitmap의 합집합을 계산하려면 다음과 같이 실행합니다:

select bitmap_count(bitmap_or(to_bitmap(1), to_bitmap(1))) cnt;

결과는 다음과 같습니다:

+------+
| cnt |
+------+
| 1 |
+------+

동일한 두 Bitmap의 합집합을 문자열로 변환하려면 다음과 같이 실행합니다:

select bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(1))) as res;

결과는 다음과 같습니다:

+------+
| res |
+------+
| 1 |
+------+

서로 다른 두 Bitmap의 합집합을 계산하려면 다음과 같이 실행합니다:

select bitmap_count(bitmap_or(to_bitmap(1), to_bitmap(2))) cnt;

결과는 다음과 같습니다:

+------+
| cnt |
+------+
| 2 |
+------+

서로 다른 두 Bitmap의 합집합을 문자열로 변환하려면 다음과 같이 실행합니다:

select bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2))) res;

결과는 다음과 같습니다:

+------+
| res |
+------+
| 1,2 |
+------+

NULL 값을 포함하는 여러 Bitmap의 합집합을 계산하려면 다음과 같이 실행합니다:

select bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2), to_bitmap(10), to_bitmap(0), NULL)) res;

결과는 다음과 같습니다:

+----------+
| res |
+----------+
| 0,1,2,10 |
+----------+

빈 Bitmap을 포함하는 여러 Bitmap의 합집합을 계산하려면 다음과 같이 실행합니다:

select bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2), to_bitmap(10), to_bitmap(0), bitmap_empty())) res;

결과는 다음과 같습니다:

+----------+
| res |
+----------+
| 0,1,2,10 |
+----------+

문자열과 개별 값으로 생성한 Bitmap의 합집합을 계산하려면 다음과 같이 실행합니다:

select bitmap_to_string(bitmap_or(to_bitmap(10), bitmap_from_string('1,2'), bitmap_from_string('1,2,3,4,5'))) res;

결과는 다음과 같습니다:

+--------------+
| res |
+--------------+
| 1,2,3,4,5,10 |
+--------------+