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。表中加上这个字段后,再落库的数据就是空字符串了。

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

1、使用NULL或者NOT NULL来代替T和0。NULL表示空值,NOT NULL则表示不为空

2、使用字符串来代替T和0,如“TRUE”和“FALSE”,这样就可以避免T和0的混淆。

3、使用自定义的数值来代替T和0,如1和2,这样也能够避免混淆。

4、使用布尔类型,如BIT类型或者BOOL类型,这样就可以避免使用T和0。

5、使用ENUM类型来代替T和0,ENUM类型可以设置多个可选值,这样也可以避免T和0的混淆。


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

原文地址: http://outofmemory.cn/zaji/8538420.html

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

发表评论

登录后才能评论

评论列表(0条)

保存