MySql语句中不等于NULL的正确用法
2022-06-15
SQL语句里WHERE用于与(AND)、或(OR)非(<> | !=)逻辑判断的语法,类似常规编程语言的写法,但还是有不少特殊情况。
对于不等于的判断是<> 或者 !=,前者适用性更强,主流SQL都支持,一般没什么问题。
然而用NULL参与不等于判断很容易出问题:如果两侧操作数有一个是 NULL,那么返回值也是 NULL。
可以直观理解为SQL中的 ‘=’ 、’!=’、'<>’ 不能对NULL进行操作。正确用法是:
WHERE name IS NOT NULL // 不等于NULL
WHERE name IS NULL // 等于NULL
简单总结:SQL语句中没有NULL的不等于判断就用<>,否则用IS NOT NULL。
参考资料
https://www.cnblogs.com/Darkqueen/p/13671566.html
https://www.php.cn/mysql-tutorials-487111.html
(版权归cpury.com所有,转载请注明出处。)