跳到主要内容

BITMAP_NOT

描述

计算第一个 Bitmap 减去第二个 Bitmap 之后的集合,并返回为新的 Bitmap。

语法

bitmap_not(<bitmap1>, <bitmap2>)

参数

参数描述
<bitmap1>第一个 Bitmap
<bitmap2>第二个 Bitmap

返回值

<bitmap1> 减去 <bitmap2> 后集合的 Bitmap。

示例

计算两个 Bitmap 之间的差集:

select bitmap_to_string(bitmap_not(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4')));

结果如下,因 <bitmap1> 的所有元素也在 <bitmap2> 中,所以结果是一个空的 Bitmap:

+----------------------------------------------------------------------------------------+
| bitmap_to_string(bitmap_not(bitmap_from_string('2,3'), bitmap_from_string('1,2,3,4'))) |
+----------------------------------------------------------------------------------------+
| |
+----------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

计算 <bitmap1> 中存在但 <bitmap2> 中不存在的元素的差集:

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

结果如下,将是一个包含元素 5 的 Bitmap:

+----------------------------------------------------------------------------------------+
| bitmap_to_string(bitmap_not(bitmap_from_string('2,3,5'), bitmap_from_string('1,2,3,4'))) |
+----------------------------------------------------------------------------------------+
| 5 |
+----------------------------------------------------------------------------------------+
1 row in set (0.01 sec)