MySQL運(yùn)算符 != 和 <> 以及 = 和 <=> 的區(qū)別
你知道的越多,不知道的就越多,業(yè)余的像一棵小草!
你來,我們一起精進(jìn)!你不來,我和你的競(jìng)爭(zhēng)對(duì)手一起精進(jìn)!
編輯:業(yè)余草
blog.csdn.net/qq_39390545
推薦:https://www.xttblog.com/?p=5182
1、運(yùn)算符:!= 和 <>
在MySQL中!= 和 <> 的功能一致,在sql92規(guī)范中建議是:!=,新的規(guī)范中建議為: <>
下面查詢username為"陳哈哈"以外的用戶,以下兩條語句的作用一樣。
SELECT * FROM t_user WHERE username != "陳哈哈";
SELECT * FROM t_user WHERE username <> "陳哈哈";
2、運(yùn)算符:= 和 <=>
值得一提的是 = 、 <=> 以及 is 這三個(gè)運(yùn)算符的用法
大家都知道 is 專門用來判斷是否為 NULL,而 = 則是用來判斷非NULL以外的所有數(shù)據(jù)類型使用。而 <=> 則是前兩者合起來。
先提供測(cè)試表數(shù)據(jù)如下:
mysql> SELECT * from t_user;
+----+-----------+----------+
| id | username | password |
+----+-----------+----------+
| 1 | 陳哈哈 | abcd1234 |
| 2 | 僑布斯 | 1234 |
| 3 | 提莫 | 1234abcd |
| 4 | aaa | NULL |
| 5 | NULL | aaaa |
+----+-----------+----------+
5 rows in set (0.00 sec)
下面兩個(gè)SQL的查詢結(jié)果一致,均查出了username 為 NULL的數(shù)據(jù)
mysql> SELECT * from t_user where `username` is null;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 5 | NULL | aaaa |
+----+----------+----------+
1 row in set (0.00 sec)
mysql> SELECT * from t_user where `username` <=> null;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 5 | NULL | aaaa |
+----+----------+----------+
1 row in set (0.00 sec)
下面兩個(gè)SQL的查詢結(jié)果一致,均查出了username 為 ‘陳哈哈’ 的數(shù)據(jù)
mysql> SELECT * from t_user where `username` = '陳哈哈';
+----+-----------+----------+
| id | username | password |
+----+-----------+----------+
| 1 | 陳哈哈 | abcd1234 |
+----+-----------+----------+
1 row in set (0.00 sec)
mysql> SELECT * from t_user where `username` <=> '陳哈哈';
+----+-----------+----------+
| id | username | password |
+----+-----------+----------+
| 1 | 陳哈哈 | abcd1234 |
+----+-----------+----------+
1 row in set (0.00 sec)
可見,<=>運(yùn)算符相當(dāng)于封裝了= 和 is ,既可以判斷 非NULL值,也可以用來判斷NULL值。
<=> 只用于MySQL數(shù)據(jù)庫,username <=> NULL 得 0 等價(jià) username is NULL,NOT(username <=> NULL) 等價(jià) username is NOT NULL; 當(dāng)col1,col2兩個(gè)可能存在NULL值的列需要進(jìn)行相等比較時(shí),可以使用 col1 <=> col2,可以把null=null的也關(guān)聯(lián)起來。
評(píng)論
圖片
表情
