这篇说说位运算函数的基本语法及示例。
| 函数名称 | 语句 | 说明 |
| bit_count 函数 | bit_count(x, bits) | 统计 x 的二进制表示中1的个数。 |
| bitwise_and 函数 | bitwise_and(x, y) | 以二进制的形式对 x,y 进行与运算。 |
| bitwise_not 函数 | bitwise_not(x) | 以二进制的形式对 x 的所有位进行取反运算。 |
| bitwise_or 函数 | bitwise_or(x, y) | 以二进制形式对 x,y 进行或运算。 |
| bitwise_xor 函数 | 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)
·查询和分析结果
1
十一、bitwise_not 函数
bitwise_not 函数以二进制形式对 x 的所有位进行取反运算。
十二、语法
bitwise_not(x)
十三、参数说明
| 参数 | 说明 |
| x | 参数值为 bigint 类型。 |
十四、返回值类型
bigint 类型
十五、示例
以二进制形式对数字4的所有位进行取反运算。
·查询和分析语句
* | SELECT bitwise_not(4)
·查询和分析结果
-5
十六、bitwise_or 函数
bitwise_or 函数以二进制形式对 x 和 y 进行或运算。
十七、语法
bitwise_or(x, y)
十八、参数说明
| 参数 | 说明 |
| x | 参数值为 bigint 类型。 |
| y | 参数值为 bigint 类型。 |
十九、返回值类型
bigint 类型
20、示例
以二进制形式对数字3和5进行或运算。
·查询和分析语句
* | SELECT bitwise_or(3, 5)
·查询和分析结果
7
21、bitwise_xor 函数
bitwise_xor 函数以二进制形式对 x 和 y 进行异或运算。
22、语法
bitwise_xor(x, y)
23、参数说明
| 参数 | 说明 |
| x | 参数值为 bigint 类型。 |
| y | 参数值为 bigint 类型。 |
24、返回值类型
bigint 类型
25、示例
以二进制形式对数字3和5进行异或运算。
·查询和分析语句
* | SELECT bitwise_xor(3, 5)
·查询和分析结果
6