BIT_XOR()
是
第 12.19.1 节“聚合函数描述”
中描述的聚合函数。)位函数和运算符需要
BIGINT
(64 位整数)参数和返回
BIGINT
值,因此它们的最大范围为 64 位。其他类型的参数(例如 the
BINARY
和
VARBINARY
二进制字符串类型)被转换为
BIGINT
并且可能会发生截断。
以下列表描述了可用的位函数和运算符:
结果是一个无符号的 64 位整数。
mysql> SELECT 29 | 15;
结果是一个无符号的 64 位整数。
mysql> SELECT 29 & 15;
按位异或。
结果是一个无符号的 64 位整数。
mysql> SELECT 1 ^ 1;
mysql> SELECT 1 ^ 0;
mysql> SELECT 11 ^ 3;
将 longlong ( BIGINT
) 数字向左移动。
结果是一个无符号的 64 位整数。该值被截断为 64 位。特别是,如果移位计数大于或等于无符号 64 位数字的宽度,则结果为零。
mysql> SELECT 1 << 2;
将 longlong ( BIGINT
) 数字右移。
结果是一个无符号的 64 位整数。该值被截断为 64 位。特别是,如果移位计数大于或等于无符号 64 位数字的宽度,则结果为零。
mysql> SELECT 4 >> 2;
反转所有位。
结果是一个无符号的 64 位整数。
mysql> SELECT 5 & ~1;
BIT_COUNT(N
)
返回在参数中设置
N
为无符号 64 位整数的位数,或者
NULL
如果参数是
NULL
.
mysql> SELECT BIT_COUNT(29), BIT_COUNT(b'101010');
-> 4, 3