我有一个mr.Name
可能是nulll的SQL查询,所以如果它是null我不想考虑它。我该怎么写这个查询,如果它包含数据,如果不像
where
中考虑它
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')
答案 0 :(得分:1)
使用IS NOT NULL
WHERE mr.Name IS NOT NULL;
IS NOT NULL条件用于测试NOT NULL值 在SELECT,INSERT,UPDATE或DELETE
中
答案 1 :(得分:0)
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)
我认为这就是你想要的,尝试并告诉我这是否能解决你的问题
答案 2 :(得分:0)
您似乎想要返回Name为France,Italy或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)