mysql 查询某个字段为空或不为空的数据

mysql 查询某个字段为空或不为空的数据,第1张

查询字段为空的数据。如下三条语句查询的结果各不相同。

select count(0) from tps_uw_detail where trim(coreContNo)=''###1736

select count(0) from  tps_uw_detail where coreContNo is null###735

select count(0) from  tps_uw_detail where (coreContNo is null or trim(coreContNo)='')##2471

=''就是存的空字符串;is null 就是默认的。

由于是后来新加的字段,默认为null,所以历史数据都为null。表中加上这个字段后,再落库的数据就是空字符串了。

根据自己的需求选用脚本,第三个是适合我的。

比如\x0d\x0ainsert into table a (a1,b1)values("a1",'')\x0d\x0a对于这种情况,因为表里存的是'',其实是没有内容的,要查询这个字段,不能直接使用\x0d\x0aselect *\x0d\x0afrom a\x0d\x0awhere b1=''\x0d\x0asql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not\x0d\x0a应该如此使用:\x0d\x0aselect * from A where b1 is null\x0d\x0a或者:\x0d\x0aselect * from A where b1 is not null


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10013069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存