本文以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