У меня есть случай, когда заявления в запросе экстракта, который не кажется, возвращающимся то, что я ожидалДела не правильно оценивать SQL сервера
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
я заметил, что если поместить последнюю строку в верхней части он тогда работал, но думал, что мне не хватает что-то другое. Итак, чтобы получить это правильно, хотя последнее, когда оператор имеет дополнительное значение для проверки SQL Server, игнорирует это? – Gelder
Он останавливается с первым истинным состоянием, да. – Mihai