首页 > 知识问答文章正文

MySql字段为空值时如何查询

知识问答 2022-03-07 20:15:33 admin

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

操作方法

【步骤01】

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

【步骤02】

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

【步骤03】

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

【步骤04】

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

【步骤05】

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

【步骤06】

那如果是查询所有不是null值的数据呢?
我们可以用 is not null来查询
select * from student where gender is not null

【步骤07】

用函数的方法就是
select * from student where !ISNULL(gender)

select * from student wherenot ISNULL(gender)

【步骤08】

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

标签:

发表评论

评论列表

可盼网Copyright @ 2011-2024 All Rights Reserved. |版权所有 备案号: 豫ICP备2022006457号-8