位函数和操作符
bit_count(bigint x)
bit_count(double x)
bit_count(varchar x)
命令说明:系统先将参数转换为二进制,然后返回二进制中
1
的个数。返回值类型:BIGINT。
示例:
select bit_count(2);
+--------------+
| bit_count(2) |
+--------------+
| 1 |
select bit_count(pi());
+-----------------+
| bit_count(pi()) |
+-----------------+
| 2 |
select bit_count('123');
+------------------+
| bit_count('123') |
+------------------+
| 6 |
&
命令说明:按位
AND
。返回值类型:BIGINT。
示例:
select 12 & 15;
+---------------------+
| bitwise_and(12, 15) |
+---------------------+
| 12 |
~
命令说明:反转所有位。
返回值类型:BIGINT。
示例:
select 2 & ~1;
+--------------------------------+
| bitwise_and(2, bitwise_not(1)) |
+--------------------------------+
| 2 |
|
命令说明:按位
OR
。返回值类型:BIGINT。
示例:
select 29 | 15;
+--------------------+
| bitwise_or(29, 15) |
+--------------------+
| 31 |
^
命令说明:按位异或。
返回值类型:BIGINT。
示例:
select 1 ^ 10;
+--------------------+
| bitwise_xor(1, 10) |
+--------------------+
| 11 |
>>(BITWISE_RIGHT_SHIFT)
bitwise_right_shift(double x, double y)
bitwise_right_shift(varchar x, varchar y)
bitwise_right_shift(bigint x, bigint y)
命令说明:向右移位。
返回值类型:BIGINT。
示例:
select 3 >> 2;
+---------------------------+
| bitwise_right_shift(3, 2) |
+---------------------------+
| 0 |
select 3.4 >> 23.2;
+--------------------------------+
| bitwise_right_shift(3.4, 23.2) |
+--------------------------------+
| 0 |
<<(BITWISE_LEFT_SHIFT)
bitwise_left_shift(double x, double y)
bitwise_left_shift(varchar x, varchar y)
bitwise_left_shift(bigint x, bigint y)
命令说明:向左移位。
返回值类型:BIGINT。
示例:
SELECT 3 << 2;
+--------------------------+
| bitwise_left_shift(3, 2) |
+--------------------------+
| 12 |
select '3' << '2';
+------------------------------+
| bitwise_left_shift('3', '2') |
+------------------------------+
| 12 |
select 3.4 << 23.2;
+-------------------------------+
| bitwise_left_shift(3.4, 23.2) |
+-------------------------------+
| 25165824 |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论