mySQL查询空和NULL值一起

时间:2012-10-17 17:12:11

标签: mysql sql

在数据库中,在字段中,我有两个字段picNameUserNamepicName可以有NULL值,图片名称,也可以为空

我想查询userNamepicName为空的条目的NULL

我单独尝试了这些命令

Select userName from user where picName = ''

Select userName from user where picName IS NULL

但我希望在1次查询中得到两个结果。

我尝试使用像这样的IN运算符

Select userName from user where picName IN ('' , IS NULL)

但它不起作用。

我该怎么做......?

7 个答案:

答案 0 :(得分:13)

如果您的条件中有多个过滤器,请

使用OR

Select userName 
from user 
where picName IS NULL OR 
      picName = ''

答案 1 :(得分:4)

其他答案的替代方法是使用MySQL的IFNULL()COALESCE()函数:

SELECT userName FROM user WHERE IFNULL(picName='',TRUE);
SELECT userName FROM user WHERE COALESCE(picName,'') = '';

答案 2 :(得分:1)

您希望满足这两个条件之一,因此条件一OR条件2必须为真,这正是您需要写的:

Select userName from user where picName = '' OR picName IS NULL

答案 3 :(得分:0)

SELECT userName FROM `user` WHERE picName IS NULL OR picName = ''

答案 4 :(得分:0)

... ISNULL(picName,'')是 MSSQL

的功能

选择大小写时(picname为null或                   picname =''然后用户名填写'填充'结束 来自用户

如果picname =''

为您提供UserName或者以其他方式删除文本'填充'。 如果你想过滤这些使用(就像其他说的那样): ...其中picname为null或picname =''

答案 5 :(得分:0)

同时检查空值和 NULL 值的解决方案。

COALESCE(NULLIF(table.column, ''), table.fallback)

所以您的查询将是:

SELECT userName FROM user WHERE NULLIF(picName, '') IS NULL

答案 6 :(得分:-1)

select userName from user WHERE ISNULL(picName ,'') = ''