MySQL中的位運(yùn)算符是一組用于操作二進(jìn)制數(shù)的運(yùn)算符。它們可以在位級(jí)別對(duì)整數(shù)進(jìn)行操作,例如對(duì)二進(jìn)制數(shù)的每一位執(zhí)行邏輯操作。
操作符 描述 & 按位與。兩個(gè)位都為1時(shí),結(jié)果為1;否則為0。 | 按位或。兩個(gè)位中只要有1個(gè)為1,結(jié)果就為1。 ^ 異或。兩個(gè)位不同則結(jié)果為1;相同則為0。 ~ 取反。如果位為0,結(jié)果為1;如果為1,則為0。<< 左移。將一個(gè)數(shù)的二進(jìn)制數(shù)左移n位,相當(dāng)于乘以2的n次冪。 >>右移。將一個(gè)數(shù)的二進(jìn)制數(shù)右移n位,相當(dāng)于除以2的n次冪。
下面是一些具體的例子:
SELECT 8 & 9; -- 輸出結(jié)果為8 SELECT 8 | 9; -- 輸出結(jié)果為9 SELECT 8 ^ 9; -- 輸出結(jié)果為1 SELECT ~8; -- 輸出結(jié)果為-9 SELECT 8<<1; -- 輸出結(jié)果為16 SELECT 9>>1; -- 輸出結(jié)果為4
需要注意的是,在MySQL中,所有的整數(shù)都是有符號(hào)的。因此,對(duì)于有符號(hào)的整數(shù),取反運(yùn)算的結(jié)果為相反數(shù)減1。例如,取反-8得到的結(jié)果是7。