在简单MS SQL查询IAM无法得到结果SQL和不取,或不给予正确的结果
SELECT * FROM tblActivityTracker
WHERE (WoM IN (NULL, 2))
AND (DateName = DATENAME(weekday, GETDATE()))
PLS建议
在简单MS SQL查询IAM无法得到结果SQL和不取,或不给予正确的结果
SELECT * FROM tblActivityTracker
WHERE (WoM IN (NULL, 2))
AND (DateName = DATENAME(weekday, GETDATE()))
PLS建议
你不能IN
子句中使用null
。
查询
SELECT * FROM tblActivityTracker
WHERE (WoM IN (2) OR Wom is null) -- or Wom = 2 instead of using IN
AND (DateName = DATENAME(weekday, GETDATE()));
以上查询提取只WoM是空的不是WoM是2 – user3926897
@ user3926897:结果将与两个Wom有空值和2 – Wanderer
我想知道为什么它不提取,如果单独运行其未来,但我需要结合 – user3926897
试试这个
SELECT * FROM tblActivityTracker
WHERE (WoM =2 OR Wom IS NULL)
AND (DateName = DATENAME(weekday, GETDATE()));
或者试试这个
SELECT * FROM tblActivityTracker
WHERE (WoM in('NULL','2'))
AND (DateName = DATENAME(weekday, GETDATE()));
你能做的最好的是使用ISNULL
SELECT * FROM tblActivityTracker
WHERE isnull(WoM,'') IN ('', '2')
AND DateName = DATENAME(weekday, GETDATE())
个
感谢的建议...... 其实下面的查询帮助
SELECT * FROM tblActivityTracker
WHERE (WoM IN (2)) AND (DATENAME(weekday, GETDATE()) = DateName) OR
(WoM IS NULL) AND (DATENAME(weekday, GETDATE()) = DateName)
请查看示例数据和预期的结果,你会得到 – Jens
您不能使用'null'用'IN'条款的结果。 – Wanderer
如果WoM是一个字符串,使用'WHERE(WoM is NULL or WoM = 2)' –