本文介绍位运算函数的基本语法及示例。
日志服务支持如下位运算函数。
|
函数名称 |
语法 |
说明 |
支持SQL |
支持SPL |
|
bit_count(x, bits) |
统计x中1的个数。 |
√ |
√ |
|
|
bitwise_and(x, y) |
以二进制形式对x和y进行与运算。 |
√ |
√ |
|
|
bitwise_not(x) |
以二进制形式对x的所有位进行取反运算。 |
√ |
√ |
|
|
bitwise_or(x, y) |
以二进制形式对x和y进行或运算。 |
√ |
√ |
|
|
bitwise_xor(x, y) |
以二进制形式对x和y进行异或运算。 |
√ |
√ |
bit_count函数
bit_count函数用于统计x中1的个数。
语法
bit_count(x, bits)
参数说明
|
参数 |
说明 |
|
x |
参数值为bigint类型。 |
|
bits |
位数,例如64位。 |
返回值类型
bigint类型。
示例
计算数字24的二进制数,并返回其二进制数中1的个数。
-
查询和分析语句
* | SELECT bit_count(24, 64) -
查询和分析结果返回结果为
2。
bitwise_and函数
bitwise_and函数以二进制形式对x和y进行与运算。
语法
bitwise_and(x, y)
参数说明
|
参数 |
说明 |
|
x |
参数值为bigint类型。 |
|
y |
参数值为bigint类型。 |
返回值类型
bigint类型。
示例
以二进制形式对数字3和5进行与运算。
-
查询和分析语句
* | SELECT bitwise_and(3, 5) -
查询和分析结果:列名为
_col0,返回值为1。
bitwise_not函数
bitwise_not函数以二进制的形式对x的所有位进行取反运算。
语法
bitwise_not(x)
参数说明
|
参数 |
说明 |
|
x |
参数值为bigint类型。 |
返回值类型
bigint类型。
示例
以二进制的形式对数字4的所有位进行取反运算。
-
查询和分析语句
* | SELECT bitwise_not(4) -
查询和分析结果返回结果为
_col0列值-5。
bitwise_or函数
bitwise_or函数以二进制形式对x和y进行或运算。
语法
bitwise_or(x, y)
参数说明
|
参数 |
说明 |
|
x |
参数值为bigint类型。 |
|
y |
参数值为bigint类型。 |
返回值类型
bigint类型。
示例
以二进制形式对数字3和5进行或运算。
-
查询和分析语句
* | SELECT bitwise_or(3, 5) -
查询和分析结果返回结果为
7。
bitwise_xor函数
bitwise_xor函数以二进制形式对x和y进行异或运算。
语法
bitwise_xor(x, y)
参数说明
|
参数 |
说明 |
|
x |
参数值为bigint类型。 |
|
y |
参数值为bigint类型。 |
返回值类型
bigint类型。
示例
以二进制形式对数字3和5进行异或运算。
-
查询和分析语句
?1* | SELECT bitwise_xor(3, 5) -
查询和分析结果返回结果为
6。