MySQL运算符!=和<>及=和<=>的使用区别
1、运算符:!= 和 <>
在MySQL中!= 和 <> 的功能一致,在sql92规范中建议是:!=,新的规范中建议为: <>
下面查询username为"陈哈哈"以外的用户,以下两条语句的作用一样。
SELECT * FROM t_user WHERE username != "陈哈哈"; SELECT * FROM t_user WHERE username <> "陈哈哈";
2、运算符:= 和 <=>
值得一提的是 = 、 <=> 以及 is 这三个运算符的用法
大家都知道 is 专门用来判断是否为 NULL,而 = 则是用来判断非NULL以外的所有数据类型使用。而 <=> 则是前两者合起来。
先提供测试表数据如下:
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)
下面两个SQL的查询结果一致,均查出了username 为 NULL的数据
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)
下面两个SQL的查询结果一致,均查出了username 为 ‘陈哈哈’ 的数据
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)
可见,<=>运算符相当于封装了= 和 is ,既可以判断 非NULL值,也可以用来判断NULL值。
- <=> 只用于MySQL数据库,username <=> NULL 得 0 等价 username is NULL,NOT(username <=> NULL) 等价 username is NOT NULL;
- 当col1,col2两个可能存在NULL值的列需要进行相等比较时,可以使用 col1 <=> col2,可以把null=null的也关联起来。
到此这篇关于MySQL运算符!=和<>及=和<=>的使用区别的文章就介绍到这了,更多相关MySQL !=和<>及=和<=>内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MacOS 下安装 MySQL8.0 登陆 MySQL的方法
这篇文章主要介绍了MacOS 下安装 MySQL8.0 登陆 MySQL 的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-05-05mysql报错:1406 Data too long for colu
这篇文章给大家介绍了多种解决mysql报错:1406, Data too long for column的解决方法,如果有遇到相同问题的朋友可以参考阅读本文,对解决问题有一定的帮助,需要的朋友可以参考下2023-09-09
最新评论