我有當聲明中提取查詢這似乎並沒有被返回什麼,我期待案例不正確評估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