sql查询column为空的数据和查询column不空的数据,情况和查询方式汇总

本文详细介绍了在MySQL环境中,针对不同类型的空值(包括NULL和空字符串)在users表中进行查询的三种常见情况及解决方案。通过具体示例,演示了如何使用IS NULL, IS NOT NULL, LENGTH等函数高效地筛选出空值和非空值记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文以table是 users表为案列 并在mysql环境使用

                             (图1)

        (图2)

查询column为空数据的三种情况

 

情况一:如column字段是可以为空的字段 并且字段默认显示是(NULL)的数据

方法一:使用 字段 IS NULL 

SELECT * FROM users WHERE  `wechat_unionid` IS NULL

方法二: 使用sql函数ISNULL(column)

SELECT * FROM users WHERE  ISNULL(`wechat_unionid`) 

 

情况二:如column字段是不能为空的字段

方法一:使用 column= '' 

SELECT * FROM users WHERE  `mini_openid` =''

方法二:使用 sql函数length(column) 

SELECT * FROM users WHERE  LENGTH(`mini_openid`) =0

 

情况三 :如果column字段原来是不可空,后来修改成可为空字段,就会出现如图2所示

方法一:使用 column IS NULL OR column =''

SELECT * FROM users WHERE  `wechat_unionid` IS NULL OR wechat_unionid =''

 方法二:使用sql函数ISNULL(column )和LENGTH(column)

SELECT * FROM users WHERE  ISNULL(`wechat_unionid`) OR LENGTH(wechat_unionid)=0

查询column不为空的数据

因为空数据的情况三的存在所以我们要查询非空数据需要结合两个条件查询

方法一:使用column IS NOT NULL AND LENGTH(column)>0

SELECT * FROM users WHERE  `mini_openid` IS NOT NULL AND LENGTH(mini_openid)>0

 方法二:使用column IS NOT NULL AND LENGTH(column) <> 0 

SELECT * FROM users WHERE  `mini_openid` IS NOT NULL AND LENGTH(mini_openid) <> 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值