本文介绍位运算函数的基本语法及示例。

注意 在日志服务分析语句中,表示字符串的字符必须使用单引号('')包裹,无符号包裹或被双引号("")包裹的字符表示字段名或列名。例如:'status'表示字符串status,status"status"表示日志字段status。
函数名称 语法 说明
bit_count函数 bit_count(x,bits) 统计x中1的个数。
bitwise_and函数 bitwise_and(x,y) 以二进制形式对xy进行与运算。
bitwise_not函数 bitwise_not(x) 以二进制形式对x的所有位进行取反运算。
bitwise_or函数 bitwise_or(x,y) 以二进制形式对xy进行或运算。
bitwise_xor函数 bitwise_xor(x,y) 以二进制形式对xy进行异或运算。

bit_count函数

bit_count函数用于统计x中1的个数。

语法

bit_count(x,bits)

参数说明

参数 说明
x 参数值为bigint类型。
bits 位数,例如64位。

返回值类型

bigint类型。

示例

计算数字24的二进制数,并返回其二进制数中1的个数。

  • 查询和分析语句
    * | SELECT bit_count(24, 64)
  • 查询和分析结果bit_count

bitwise_and函数

bitwise_and函数以二进制形式对xy进行与运算。

语法

bitwise_and(x,y)

参数说明

参数 说明
x 参数值为bigint类型。
y 参数值为bigint类型。

返回值类型

bigint类型。

示例

以二进制形式对数字3和5进行与运算。

  • 查询和分析语句
    * | SELECT bitwise_and(3, 5)
  • 查询和分析结果bitwise_and

bitwise_not函数

bitwise_not函数以二进制的形式对xy的所有位进行取反运算。

语法

bitwise_not(x)

参数说明

参数 说明
x 参数值为bigint类型。

返回值类型

bigint类型。

示例

以二进制的形式对数字4的所有位进行取反运算。

  • 查询和分析语句
    * | SELECT bitwise_not(4)
  • 查询和分析结果bitwise_not

bitwise_or函数

bitwise_or函数以二进制形式对xy进行或运算。

语法

bitwise_or(x,y)

参数说明

参数 说明
x 参数值为bigint类型。
y 参数值为bigint类型。

返回值类型

bigint类型。

示例

以二进制形式对数字3和5进行或运算。

  • 查询和分析语句
    * | SELECT bitwise_or(3, 5)
  • 查询和分析结果bitwise_or

bitwise_xor函数

bitwise_xor函数以二进制形式对xy进行异或运算。

语法

bitwise_xor(x,y)

参数说明

参数 说明
x 参数值为bigint类型。
y 参数值为bigint类型。

返回值类型

bigint类型。

示例

以二进制形式对数字3和5进行异或运算。

  • 查询和分析语句
    ?1* | SELECT bitwise_xor(3, 5)
  • 查询和分析结果bitwise_xor