BITMAP_OR
更新时间:2025-10-16
描述
计算两个及以上的 Bitmap 的并集,返回新的 Bitmap。
语法
SQL
1bitmap_or(<bitmap1>, <bitmap2>, ..., <bitmapN>)
参数
| 参数 | 描述 |
|---|---|
<bitmap1> |
第一个 Bitmap |
<bitmap2> |
第二个 Bitmap |
| ... | ... |
<bitmapN> |
第 N 个 Bitmap |
返回值
多个 Bitmap 并集的 Bitmap。
示例
计算两个相同 Bitmap 的并集:
SQL
1select bitmap_count(bitmap_or(to_bitmap(1), to_bitmap(1))) cnt;
结果如下:
Text
1+------+
2| cnt |
3+------+
4| 1 |
5+------+
将两个相同 Bitmap 的并集转换为字符串:
SQL
1select bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(1)));
结果如下:
Text
1+---------------------------------------------------------+
2| bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(1))) |
3+---------------------------------------------------------+
4| 1 |
5+---------------------------------------------------------+
计算两个不同 Bitmap 的并集:
SQL
1select bitmap_count(bitmap_or(to_bitmap(1), to_bitmap(2))) cnt;
结果如下:
Text
1+------+
2| cnt |
3+------+
4| 2 |
5+------+
将两个不同 Bitmap 的并集转换为字符串:
SQL
1select bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2)));
结果如下:
Text
1+---------------------------------------------------------+
2| bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2))) |
3+---------------------------------------------------------+
4| 1,2 |
5+---------------------------------------------------------+
计算多个 Bitmap(包括 NULL 值)的并集:
SQL
1select bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2), to_bitmap(10), to_bitmap(0), NULL));
结果如下:
Text
1+--------------------------------------------------------------------------------------------+
2| bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2), to_bitmap(10), to_bitmap(0), NULL)) |
3+--------------------------------------------------------------------------------------------+
4| 0,1,2,10 |
5+--------------------------------------------------------------------------------------------+
计算多个 Bitmap(包括空 Bitmap)的并集:
SQL
1select bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2), to_bitmap(10), to_bitmap(0), bitmap_empty()));
结果如下:
Text
1+------------------------------------------------------------------------------------------------------+
2| bitmap_to_string(bitmap_or(to_bitmap(1), to_bitmap(2), to_bitmap(10), to_bitmap(0), bitmap_empty())) |
3+------------------------------------------------------------------------------------------------------+
4| 0,1,2,10 |
5+------------------------------------------------------------------------------------------------------+
计算由字符串和单个值创建的 Bitmap 的并集:
SQL
1select bitmap_to_string(bitmap_or(to_bitmap(10), bitmap_from_string('1,2'), bitmap_from_string('1,2,3,4,5')));
结果如下:
Text
1+--------------------------------------------------------------------------------------------------------+
2| bitmap_to_string(bitmap_or(to_bitmap(10), bitmap_from_string('1,2'), bitmap_from_string('1,2,3,4,5'))) |
3+--------------------------------------------------------------------------------------------------------+
4| 1,2,3,4,5,10 |
5+--------------------------------------------------------------------------------------------------------+
