SQL查询条件
问题描述:
我有一个SQL查询mr.Name
可能是空的,所以如果它是空的我不想考虑它。我怎么能写这样的查询,如果它包含数据考虑它where
如果不能表现得像SQL查询条件
where da.LastRefreshTime >= xx and da.LastRefreshTime <= xx and
da.M = z
这是我的SQL查询:
SELECT distinct ...
FROM ...
where da.LastRefreshTime >= xx and da.LastRefreshTime <= xx and
da.M = z and mr.Name in ('FRANCE','ITALY')
答
SELECT distinct ...
FROM ...
where da.LastRefreshTime >= xx and da.LastRefreshTime <= xx and
da.M = z and ((mr.Name in ('FRANCE','ITALY') and mr.Name is not NULL) or 1 = 1)
我想这是你想要的,尝试一下,告诉我,如果这能解决你的问题
答
使用IS NOT NULL
WHERE mr.Name IS NOT NULL;
是不是就是用NULL条件来测试在SELECT,INSERT,UPDATE一个NOT NULL值 ,或DELETE
+0
'where column not null'也是一个有效的sql server语法。 – CM2K
答
你似乎想回行,其中名称是法国,意大利或NULL 。因此,只需添加一个OR子句和括号: -
SELECT DISTINCT ...
FROM ...
WHERE da.LastRefreshTime >= xx
AND da.LastRefreshTime <= xx
AND da.M = z
AND (mr.Name IN ('FRANCE','ITALY')
OR mr.Name IS NULL)
MySQL,SQL Server或C#?请选择一个。提示:这不是C#... – DavidG
重要吗? @DavidG'列不为空'适用于两者(尽管在mySql中没有经验) – CM2K
@ CM2K是的,它确实很重要。 – DavidG