| 名前 | 説明 |
|---|---|
BIT_COUNT() |
設定されているビットの数を返します |
& |
ビット単位の論理積 |
~ |
ビットを反転します |
| |
ビット単位の論理和 |
^ |
ビット単位の排他的論理和 |
<< |
左シフト |
>> |
右シフト |
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 ビット整数です。値は 64 ビットに切り詰められます。特に、シフト数が符号なし 64 ビット数値の幅と等しいかそれより大きい場合、結果はゼロになります。
longlong
(BIGINT)
ナンバーを右にシフトします。
mysql> SELECT 4 >> 2; -> 1
結果は符合なしの 64 ビット整数です。値は 64 ビットに切り詰められます。特に、シフト数が符号なし 64 ビット数値の幅と等しいかそれより大きい場合、結果はゼロになります。
すべてのビットを反転します。
mysql> SELECT 5 & ~1; -> 4
結果は符合なしの 64 ビット整数です。
引数 N
で設定されているビットの数を返します。
mysql> SELECT BIT_COUNT(29), BIT_COUNT(b'101010'); -> 4,
3
