MySql字段为空值时如何查询?

mysql在网站开发中,越来越多人使用了,方便部署,方便使用。
我们平时使用中,有时候需要查询某个字段为空值的数据,那么如何查询这些空值数据?下面一起来看下。

01、查询学生表的数据,发现有三行数据gender列是空值的。如图

02、我们可以用什么方法查询显示出gender列是空值的数据呢?
select*fromstudentwheregender=''这样?
如图,这样是查询不到的。空值(NULL)不等同于空字符串值

03、那如果用=null是否可以得到正确的结果?
select*fromstudentwheregender=null
结果如图,也查询不到正确的数据。

04、要查null值的数据,可以用mysql内置的is_null函数,
select*fromstudentwhereisnull(gender)
传入的参数就是列名,如图,可以正确查询到结果,

05、除了用上面的is_null方法,我们还可以用比较操作符isnull来查询,
select*fromstudentwheregenderisnull
如图,可以正确查询到结果,和上面的函数一样,只不过是语法上的差别。

06、那如果是查询所有不是null值的数据呢?
我们可以用isnotnull来查询
select*fromstudentwheregenderisnotnull

07、用函数的方法就是
select*fromstudentwhere!ISNULL(gender)

select*fromstudentwherenotISNULL(gender)

08、当有查询到有null值数据时,我们希望将null值替换成其他字符串时,可以用ifnull()函数,比如把null的值,换成‘未知’,
selectid,name,IFNULL(gender,'未知')asgenderfromstudent