mysql的sql语句,如何检测字段为空NULL的情况
发布于 作者:苏南大叔 来源:程序如此灵动~

本文依旧有些水,说的是:mysql
中如何查找某个字段为空的数据。字段为空,这句话说起来是比较简单,但是(⊙╊⊙),“空”这个词的定义是什么?总是傻傻的分不清楚。那,到底什么是空呢?佛祖云:四大皆空。

本文测试环境:win10
/mysql@5.5.53
。
基础结构
本文的目标测试表结构如下:
这个测试表里面,共有三条数据,主要区别就是name
字段的数据不同。如下图所示:

测试语句一
本事例中的sql
是个错误的使用方法,但是很多新人都这么使用...
这条语句啥数据都没有查询到......

有些意外的是,下面的这条语句也是啥都没有得到。

测试语句二
本实例也是个错误的演示,错误的原因就是没有分清NULL
字符串和NULL
对象。

下面的这条sql
语句的结果,就有些匪夷所思了。难道mysql
自己也分不清NULL
字符串和NULL
对象么?

测试语句三

下面的这条sql
的返回值,也和苏南大叔的预想结果有些出入...,看来这里似乎是真的存在着一些误解...

测试语句四(标准答案)
下面的这两条sql
,才是标准答案:is
和is not
操作符。


总结
大多数人意识中的"空",应该就是空字符串,就是连个空格都算不上的那个"空"。而数据库层面上的"空",应该是对象NULL
,而不是字符串NULL
。字符串NULL
仅仅是个字符串,有个假的外表的字符串,这个是苏南大叔的理解和解读。推荐的知识点就是两个:is NULL
和 is not NULL
。
本文针对的实验对象是mysql
,因为不同的数据库的sql
语句,都是有所差异的。所以,其他的数据库的话,还请具体问题具体分析。更多mysql
的经常经验文章,请点击:



不错