深入理解MySQL進階漂流記(二)

運算符

算數運算符

MySQL支持大多數通用的、允許我們執行計算的的算數運算符。
“+(加法)、-(減法)、*(乘法)、/(除法,返回商)、%(除法,返回余數)”,如下例:

select?1+2;//加法運算,結果為3?  select?2-1;//減法運算,結果為1?  select?3*2;//乘法運算,結果為6?  select?6/2;//除法運算,結果為3?  select?25%7;//除法運算,結果為4?  select?5/0;//除法運算,結果為null,MySQL除法的除數為0是不允許的

請注意,所有涉及整數的數學運算都是用64位的精度進行計算。

用字符串表示的數字在任何可能便于計算的地方都被自動的轉換為字符串。遵循兩個轉換原則:
1:如果第一位是數字的字符串被用于算數運算中,那么它被轉換為這個數字的值
2:如果一個包含字符和數字混合的字符串不能被正確的轉換為數字,將被轉換成0

select?‘100’+’004’;//結果為104?  select?‘90AA’+’0’;//結果為90?  select?‘10x’*’qwe’;//結果0
比較運算符

比較運算符,允許我們對表達式的左邊和右邊進行比較,一個比較運算的結果總是1(真),0(假)或為null(不確定)。

select?6=6,3.4=4.5,’a’=’b’;//判斷兩邊是否相等?  select?77,78,’a’’b’;//判斷兩邊是否不相等?  select?100&gt;100,10=100,10<p>默認情況下,比較是不區分大小寫的。我們可以用binary關鍵字來執行區分大小寫的運算 <br>select binary ‘ross’ in (‘Chandler’,’Joey’,’Ross’); <br><img src="https://img.php.cn/upload/article/000/000/194/807815f9b411163186d1c66de4e35831-0.png" alt="這里寫圖片描述" title=""><br></p><h5>邏輯運算符</h5><p>邏輯運算符可以測試1個或者多個表達式(或表達式集合)的邏輯有效性。含有這些運算符的運算結果總是1(真),0(假)或null(不能確定)</p><p>邏輯運算符中最簡單的運算符是not運算符,它對跟在它后面的邏輯測試判斷取反,把真變為假,把假變為真 <br>select not 1,not 0,not (2=2),not (100&gt;20);//結果為0,1,0,1 <br><img src="https://img.php.cn/upload/article/000/000/194/807815f9b411163186d1c66de4e35831-1.png" alt="這里寫圖片描述" title=""><br>and 運算符可以測試兩個或更多的值(或表達式求值)的有效性,如果它的所有成分為真并且不是null,它返回真值,否則返回假值 <br>select (2=2) and (900<img src="https://img.php.cn/upload/article/000/000/194/53402f25eff65d1329ec788fb7cac55c-2.png" alt="這里寫圖片描述" title=""><br>or 運算符,如果包含的值或者表達式值為真并且不是null,它返回真值,否則返回假值。 <br>select (2=2) or (900<img src="https://img.php.cn/upload/article/000/000/194/53402f25eff65d1329ec788fb7cac55c-3.png" alt="這里寫圖片描述" title=""><br>MySQL4.x和更高版本中還包括了一個附加的xor運算符,如果它的參數中的一個(不是兩個)為真,它返回真值。 <br>select (1=1) xor (2=4),(1<img src="https://img.php.cn/upload/article/000/000/194/53402f25eff65d1329ec788fb7cac55c-4.png" alt="這里寫圖片描述" title=""></p><h5>位運算符</h5><p>位運算符 <br>MySQL包含了6個專門用于位操作的運算符 <br>“|”運算符用于執行一個位or操作,而&amp;用于執行一個位and操作。 <br>Case: <br>select 16|32,9|4;//結果為48,13 <br>select 30 &amp; 10,8 &amp; 16;//結果10,0 <br><img src="https://img.php.cn/upload/article/000/000/194/53402f25eff65d1329ec788fb7cac55c-5.png" alt="這里寫圖片描述" title=""><br>還可以分別使用&gt;運算符向左和向右移動位。 <br>select 1&gt;1;//結果為128,32 <br><img src="https://img.php.cn/upload/article/000/000/194/ba193a1d42246482a14ae98bfbde0ea9-6.png" alt="這里寫圖片描述" title=""><br>^運算符執行位xor操作 <br>select 1^0,0^1,17^9,143^66;//結果為1,1,24,205 <br><img src="https://img.php.cn/upload/article/000/000/194/ba193a1d42246482a14ae98bfbde0ea9-7.png" alt="這里寫圖片描述" title=""><br>~運算符執行位取反操作,并返回64位整型結果 <br>select ~18446744073709551614,~1; <br>//結果為1,18446744073709551614 <br></p><p><img src="https://img.php.cn/upload/article/000/000/194/ba193a1d42246482a14ae98bfbde0ea9-8.png" alt="這里寫圖片描述" title=""></p><div></div>

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享