對于比特運算,MySQL 使用 BIGINT (64比特) 算法,因此這些操作符的最大范圍是 64 比特。
- |
Bitwise OR:
mysql> SELECT 29 | 15;
-> 31
其結果為一個64比特無符號整數。
- &
Bitwise AND:
mysql> SELECT 29 & 15;
-> 13
其結果為一個64比特無符號整數。
- ^
Bitwise XOR:
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比特無符號整數。
- BIT_COUNT(N)
返回參數N 中所設置的比特數
mysql> SELECT BIT_COUNT(29);
-> 4