本文主要是介绍MySql字段有null值与其他值的比较,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MySql字段有null值与其他值的比较
SELECT count(1)`在这里插入代码片`FROM LAW_ENFORCEMENT_TROUBLE TBWHERE TB.STATUS = 1AND TB.DUTY_LIMIT_DATE <= NOW()AND TB.TROUBLE_STATUS != 2
查出结果为0条,但是应该为3条,查看表数据发现,TROUBLE_STATUS里面有的是NULL值,
我恍然大悟,
1、NULL和任何值都不比较
2、NULL值与任何其它值的比较(即使是NULL)永远不会为真
3、NULL只能用is null 或者is not null 来判断,不能用=或者!=来判断
所以才查询不出我要数据,因此可以这么改写
1、 AND IFNULL(TB.TROUBLE_STATUS,-1) != 2
IFNULL的作用是什么?,如果IFNULL(a,b),a的值为null,则返回b,否则返回a;
2、 AND TB.TROUBLE_STATUS != 2 OR TB.TROUBLE_STATUS IS NULL
。
这篇关于MySql字段有null值与其他值的比较的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!