MySql语句中不等于NULL的正确用法

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所有,转载请注明出处。)