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

BITMAP_XOR_COUNT

説明

2つ以上のBitmapセットの対称差(XOR演算)を計算し、結果セット内の要素数を返します。

構文

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

パラメータ

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

Return Value

複数のBitmapのXOR演算の結果として得られるBitmapの要素数。
入力BitmapパラメータのいずれかがNULLの場合はNULLを返します。

Examples

2つのBitmapの対称差集合の要素数を計算するには:

select bitmap_xor_count(bitmap_from_string('1,2,3'), bitmap_from_string('3,4,5'));

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

+----------------------------------------------------------------------------+
| bitmap_xor_count(bitmap_from_string('1,2,3'), bitmap_from_string('3,4,5')) |
+----------------------------------------------------------------------------+
| 4 |
+----------------------------------------------------------------------------+

2つの同一のBitmapの対称差分における要素数を計算するには:

select bitmap_xor_count(bitmap_from_string('1,2,3'), bitmap_from_string('1,2,3'));

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

+----------------------------------------------------------------------------+
| bitmap_xor_count(bitmap_from_string('1,2,3'), bitmap_from_string('1,2,3')) |
+----------------------------------------------------------------------------+
| 0 |
+----------------------------------------------------------------------------+

2つの異なるBitmapの対称差分に含まれる要素数を計算するには:

select bitmap_xor_count(bitmap_from_string('1,2,3'), bitmap_from_string('4,5,6'));

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

+----------------------------------------------------------------------------+
| bitmap_xor_count(bitmap_from_string('1,2,3'), bitmap_from_string('4,5,6')) |
+----------------------------------------------------------------------------+
| 6 |
+----------------------------------------------------------------------------+

3つのBitmapの対称差分における要素数を計算するには:

select bitmap_xor_count(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'));

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

+-----------------------------------------------------------------------------------------------------------+
| bitmap_xor_count(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5')) |
+-----------------------------------------------------------------------------------------------------------+
| 3 |
+-----------------------------------------------------------------------------------------------------------+

複数のBitmapの対称差分に含まれる要素数を計算するには、空のBitmapも含めて以下のようにします:

select bitmap_xor_count(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'), bitmap_empty());

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

+---------------------------------------------------------------------------------------------------------------------------+
| bitmap_xor_count(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'), bitmap_empty()) |
+---------------------------------------------------------------------------------------------------------------------------+
| 3 |
+---------------------------------------------------------------------------------------------------------------------------+

複数のBitmapの対称差に含まれる要素の数を計算するには、NULL値を含めて:

select bitmap_xor_count(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'), NULL);

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

+-----------------------------------------------------------------------------------------------------------------+
| bitmap_xor_count(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'), bitmap_from_string('3,4,5'), NULL) |
+-----------------------------------------------------------------------------------------------------------------+
| NULL |
+-----------------------------------------------------------------------------------------------------------------+