BIT_COUNT

计算给定参数value的二进制表示中包含1的数量。

命令格式

BIGINT BIT_COUNT(BIGINT|INT|SMALLINT|TINYINT|BOOLEAN value)

参数说明

  • value:必填。BIGINT、INT、SMALLINT、TINYINTBOOLEAN类型的值。

返回值说明

返回BIGINT类型。返回规则如下:

  • value值非BIGINT、INT、SMALLINT、TINYINTBOOLEAN类型时,返回报错。

  • value值为NULL时,返回报错。

使用示例

-- 返回 2。
SELECT BIT_COUNT(5);
-- 返回 15。
SELECT BIT_COUNT(32767S);
-- 返回 2。
SELECT BIT_COUNT(-127Y);
-- 返回 1。
SELECT BIT_COUNT(true);
-- 返回 0。
SELECT BIT_COUNT(false);

-- 当 value 列为 NULL 时,返回 NULL。
SELECT BIT_COUNT(value) FROM 
  VALUES (0), (1), (2), (3), (NULL) AS TAB(value);
-- 返回结果。
+------------+
| _c0        | 
+------------+
| 0          | 
| 1          | 
| 1          | 
| 2          | 
| NULL       | 
+------------+