Mysql 邏輯運算符詳解


邏輯運算符又稱為布爾運算符,用來確認表達式的真和假。MySQL 支持4 種邏輯運算符,如表4-3 所示。

                          表4-3                          MySQL 中的邏輯運算符

運算符 作用
NOT 或! 邏輯非
AND 或&& 邏輯與
OR 或 || 邏輯或
XOR 邏輯異或

   ““NOT”或“!”表示邏輯非。返回和操作數相反的結果:當操作數為0(假),則返回值為1,否則值為0。但是有一點除外,那就是NOT NULL 的返回值為NULL,這一點請大家注意。如下例所示:

mysql> select not 0, not 1, not null ;
+-------+-------+----------+
| not 0 | not 1 | not null |
+-------+-------+----------+
| 1 | 0 | NULL |
+-------+-------+----------+
1 row in set (0.00 sec)

 ““AND”或“&&”表示邏輯與運算。當所有操作數均為非零值並且不為NULL 時,計算所得結果為1,當一個或多個操作數為0 時,所得結果為0,操作數中有任何一個為NULL 則返回值為NULL。如下例所示:

mysql> select (1 and 1),(0 and 1) ,(3 and 1 ) ,(1 and null);
+-----------+-----------+------------+--------------+
| (1 and 1) | (0 and 1) | (3 and 1 ) | (1 and null) |
+-----------+-----------+------------+--------------+
| 1 | 0 | 1 | NULL |
+-----------+-----------+------------+--------------+
1 row in set (0.00 sec)

 “OR”或“||”表示邏輯或運算。當兩個操作數均為非NULL 值時,如有任意一個操作數為非零值,則結果為1,否則結果為0。當有一個操作數為NULL 時,如另一個操作數為非零值,則結果為1,否則結果為NULL。假如兩個操作數均為NULL,則所得結果為NULL。如下例所示:

mysql> select (1 or 0) ,(0 or 0),(1 or null) ,(1 or 1),(null or null);
+----------+----------+-------------+----------+----------------+
| (1 or 0) | (0 or 0) | (1 or null) | (1 or 1) | (null or null) |
+----------+----------+-------------+----------+----------------+
| 1 | 0 | 1 | 1 | NULL |
+----------+----------+-------------+----------+----------------+
1 row in set (0.00 sec)

 “XOR”表示邏輯異或。當任意一個操作數為NULL 時,返回值為NULL。對於非NULL 的操作數,如果兩個的邏輯真假值相異,則返回結果1;否則返回0。如下例所示:

mysql> select 1 xor 1 ,0 xor 0,1 xor 0,0 xor 1,null xor 1;
+---------+---------+---------+---------+------------+
| 1 xor 1 | 0 xor 0 | 1 xor 0 | 0 xor 1 | null xor 1 |
+---------+---------+---------+---------+------------+
| 0 | 0 | 1 | 1 | NULL |
+---------+---------+---------+---------+------------+
1 row in set (0.00 sec)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM