メインコンテンツまでスキップ
バージョン: 4.x

BITMAP_OR

デスクリプション

2つ以上のBitmapの和集合を計算し、新しいBitmapを返します。

Syntax

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

パラメータ

Parameterデスクリプション
<bitmap1>最初のBitmap
<bitmap2>2番目のBitmap
......
<bitmapN>N番目のBitmap

戻り値

複数のBitmapの和集合を表すBitmap。

2つの同一のBitmapの和集合を計算するには:

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

結果は次のようになります:

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

2つの同一のBitmapの和集合を文字列に変換するには:

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

結果は次のようになります:

+---------------------------------------------------------+
| bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(1))) |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+

2つの異なるBitmapのunionを計算するには:

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

結果は次のようになります:

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

2つの異なるBitmapの和集合を文字列に変換するには:

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

結果は次のようになります:

+---------------------------------------------------------+
| bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2))) |
+---------------------------------------------------------+
| 1,2 |
+---------------------------------------------------------+

複数のBitmapの和集合を計算する場合(NULL値を含む):

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

結果は次のようになります:

+--------------------------------------------------------------------------------------------+
| bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2), to_bitmap(10), to_bitmap(0), NULL)) |
+--------------------------------------------------------------------------------------------+
| 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()));

結果は以下のようになります:

+------------------------------------------------------------------------------------------------------+
| bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2), to_bitmap(10), to_bitmap(0), bitmap_empty())) |
+------------------------------------------------------------------------------------------------------+
| 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')));

結果は以下のようになります:

+--------------------------------------------------------------------------------------------------------+
| bitmap_to_string(bitmap_or(to_bitmap(10), bitmap_from_string('1,2'), bitmap_from_string('1,2,3,4,5'))) |
+--------------------------------------------------------------------------------------------------------+
| 1,2,3,4,5,10 |
+--------------------------------------------------------------------------------------------------------+