Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySql不等于的条件过滤字段值为NULL

解决MySql不等于的条件过滤字段值为NULL问题

作者:煜恒天成

今天遇到一个查询结果不对的问题,使用isNull能解决问题,但因查询条件过滤null,还有不同的写法,总结了两种实现方式,希望能给大家一个参考

MySql不等于的条件过滤字段值为NULL

今天,一哥们提出这个问题,写sql时遇到查询结果不对的情况,使用is Null能解决问题。

但是,经查阅,发现是因为查询条件过滤null的情况,还有不同的写法。

例如:表1

字段1字段2字段3
A11
B22
CNullNull

查询SQL

selecct * from 表一 where 字段2 != 1

查询结果:

字段1字段2字段3
B22

你会发现,第三列为空的数据没有查询出来。

解决方式

SELECT * FROM 表一 WHERE 字段2 != 1 OR 字段2 is Null

上面这种方法最通俗,网上也最多,但是我总是感觉效率太低。

另一种实现方式:

SELECT * FROM 表一 WHERE IFNULL(字段2,'')  != 1

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文