我有当声明中提取查询这似乎并没有被返回什么,我期待案例不正确评估SQL Server的
DECLARE @Val1 int, @Val2 int,@Val3 int, @Val4 int, @Val5 int
SELECT @Val1 = 5 , @Val2= 2,@Val3= 200000, @Val5 = 2,@Val4 = 2014
SELECT @Val1 , @Val2,@Val3, @Val4, @Val5
SELECT CASE
WHEN @Val1 = 5 AND @Val2 IN(1,2) AND @Val3 = 200000 AND @Val4 IS NULL THEN 'ReturnValue1'
WHEN @Val1 = 5 AND @Val2 IN(1,2) AND @Val3 = 200000 AND @Val4 IS NOT NULL THEN 'ReturnValue2'
WHEN @Val1 = 5 AND @Val2 = 2 AND @Val3 = 200000 AND @Val5 = 2 AND @Val4 IS NOT NULL THEN 'ReturnValue3'
ELSE NULL
END [TestingValue]
我期待值是一个情况ReturnValue3但是由于某种原因它似乎忽略了整条线。
任何人都可以看到我没有发现的问题。
当一个以上的情况是真实的,它将返回的第一个 – Mihai
我也注意到,如果我在顶部位置放置它,然后工作的最后一行,但以为我是别人失去了一些东西。所以为了得到这个正确的,尽管最后的when语句有一个额外的值来检查SQL Server是否忽略了这一点? – Gelder
它以第一个真实条件停止,是的。 – Mihai