MySQL はビット演算に BIGINT
( 64
ビット ) 演算を使用し、演算子が 64
ビットの最大範囲を持つようにします。
ビット単位の論理積 :
mysql> SELECT 29 | 15;
-> 31
結果は符合なしの 64 ビット整数です。
ビット単位の論理積 :
mysql> SELECT 29 & 15;
-> 13
結果は符合なしの 64 ビット整数です。
ビット単位の排他的論理和 :
mysql>SELECT 1 ^ 1;
-> 0 mysql>SELECT 1 ^ 0;
-> 1 mysql>SELECT 11 ^ 3;
-> 8
結果は符合なしの 64 ビット整数です。
longlong ( BIGINT
)
ナンバーを左にシフトします。
mysql> SELECT 1 << 2;
-> 4
結果は符合なしの 64 ビット整数です。
longlong ( BIGINT
)
ナンバーを右にシフトします。
mysql> SELECT 4 >> 2;
-> 1
結果は符合なしの 64 ビット整数です。
すべてのビットを反転します。
mysql> SELECT 5 & ~1;
-> 4
結果は符合なしの 64 ビット整数です。
引数 N
で設定されているビットの数を戻します。
mysql> SELECT BIT_COUNT(29), BIT_COUNT(b'101010');
-> 4, 3