mysql位運算
1、MOD(X1,X2) 求余運算,返回余數同“%”
2、X1 DIV X2 除法運算返回商,同“/”
3、如果除數為0,那麼結果為NULL。
4、<=>和= 是一樣的,也是用來判斷操作數是否相等的。不同的是<=>可以用來判斷null,=不能判斷null。
例:select null<=>null 結果1
邏輯運算符
1、與&&或and:所有操作數不為0且不為null時,結果為1,任何一操作數為0,結果為0,存在一個操作數為null且沒有操作數為0時,結果返回null。
例:a、-1&&2&&3 結果為1 b、 0&&3 結果為0 c、0&&null 結果為0 d、3&&null結果null
2、或||或者or
例:a、1||-1||null||0結果1 b、3||null結果1 c、0||null結果null d、null||null結果null e、0||0 結果0
3、非!或者not
例:a、!null結果null
4、異或xor:相同為0不同為1,其中任何一個操作數為null結果返回null。mysql中所有大於-1小於1的數字都被視為邏輯0,其他數被視為邏輯1.
例:a、null xor 1結果null b、null xor 0結果null c、3 xor 1結果0 d、1 xor 0結果1 e、0 xor 0 結果0 f、3 xor 0結果1
位運算符
&按位與 |按位或 ~按位取反 ^按位異或 <<按位左移 >>按位右移
位運算會先將操作數變成二進制數,然後進行位運算,最後再將計算結果從二進制數變回十進制數。
注:位運算操作符必須是十進制,如果是二進制、八進制等,需要通過CONV()函數將操作數轉換為十進制。才能進行相應的位運算。