在数据库中,在字段中,我有两个字段picName
和UserName
。
picName
可以有NULL
值,图片名称,也可以为空。
我想查询userName
为picName
或为空的条目的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)
但它不起作用。
我该怎么做......?
答案 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 ,'') = ''