跳到主要内容

TO_BITMAP

描述

将一个无符号的长整型数转换为 Bitmap。

输入为取值在 0 ~ 18446744073709551615 区间的 unsigned bigint,输出为包含该元素的 bitmap。

语法

to_bitmap(<expr>)

参数

参数描述
<expr>无符号的长整型数或者字符串表示的数字,范围为 0 ~ 18446744073709551615

返回值

包含对应长整型数的 Bitmap。
当输入整型值不在对应范围内时或者字符串无法解析成数字时,则返回一个empty bitmap。

示例

将一个整数转换为 Bitmap 并计算 Bitmap 中的元素数量:

select bitmap_to_string(to_bitmap(10)),bitmap_count(to_bitmap(10));

结果如下:

+---------------------------------+-----------------------------+
| bitmap_to_string(to_bitmap(10)) | bitmap_count(to_bitmap(10)) |
+---------------------------------+-----------------------------+
| 10 | 1 |
+---------------------------------+-----------------------------+
select bitmap_to_string(to_bitmap("123")),bitmap_count(to_bitmap("123"));

结果如下:

+------------------------------------+--------------------------------+
| bitmap_to_string(to_bitmap("123")) | bitmap_count(to_bitmap("123")) |
+------------------------------------+--------------------------------+
| 123 | 1 |
+------------------------------------+--------------------------------+

将一个负整数转换为 Bitmap(该整数在有效范围之外),并将其转换为字符串:

select bitmap_to_string(to_bitmap(-1)),bitmap_count(to_bitmap(-1));

结果如下:

+---------------------------------+-----------------------------+
| bitmap_to_string(to_bitmap(-1)) | bitmap_count(to_bitmap(-1)) |
+---------------------------------+-----------------------------+
| | 0 |
+---------------------------------+-----------------------------+

非法的数字字符串:

select bitmap_to_string(to_bitmap("123ABC")),bitmap_count(to_bitmap("123ABC"));

结果如下:

+---------------------------------------+-----------------------------------+
| bitmap_to_string(to_bitmap("123ABC")) | bitmap_count(to_bitmap("123ABC")) |
+---------------------------------------+-----------------------------------+
| | 0 |
+---------------------------------------+-----------------------------------+
select bitmap_to_string(to_bitmap(NULL)),bitmap_count(to_bitmap(NULL));

The result will be:

+-----------------------------------+-------------------------------+
| bitmap_to_string(to_bitmap(NULL)) | bitmap_count(to_bitmap(NULL)) |
+-----------------------------------+-------------------------------+
| | 0 |
+-----------------------------------+-------------------------------+