MySQL uses BIGINT (64-bit) arithmetic for bit operations, so these operators have a maximum range of 64 bits. |
Bitwise OR
mysql> SELECT 29 | 15;
-> 31The result is an unsigned 64-bit integer.
&
Bitwise AND
mysql> SELECT 29 & 15;
-> 13The result is an unsigned 64-bit integer.
^
Bitwise XOR
mysql> SELECT 1 ^ 1;
-> 0
mysql> SELECT 1 ^ 0;
-> 1
mysql> SELECT 11 ^ 3;
-> 8The result is an unsigned 64-bit integer.
<<
Shifts a longlong (BIGINT) number to the left:
mysql> SELECT 1 << 2;
-> 4The result is an unsigned 64-bit integer.
>>
Shifts a longlong (BIGINT) number to the right:
mysql> SELECT 4 >> 2;
-> 1The result is an unsigned 64-bit integer.
~
Invert all bits:
mysql> SELECT 5 & ~1;
-> 4The result is an unsigned 64-bit integer.
BIT_COUNT(N)
Returns the number of bits that are set in the argument N:
mysql> SELECT BIT_COUNT(29);
-> 4
Bitwise OR
mysql> SELECT 29 | 15;
-> 31The result is an unsigned 64-bit integer.
&
Bitwise AND
mysql> SELECT 29 & 15;
-> 13The result is an unsigned 64-bit integer.
^
Bitwise XOR
mysql> SELECT 1 ^ 1;
-> 0
mysql> SELECT 1 ^ 0;
-> 1
mysql> SELECT 11 ^ 3;
-> 8The result is an unsigned 64-bit integer.
<<
Shifts a longlong (BIGINT) number to the left:
mysql> SELECT 1 << 2;
-> 4The result is an unsigned 64-bit integer.
>>
Shifts a longlong (BIGINT) number to the right:
mysql> SELECT 4 >> 2;
-> 1The result is an unsigned 64-bit integer.
~
Invert all bits:
mysql> SELECT 5 & ~1;
-> 4The result is an unsigned 64-bit integer.
BIT_COUNT(N)
Returns the number of bits that are set in the argument N:
mysql> SELECT BIT_COUNT(29);
-> 4
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货