Я пытаюсь написать что-то вроде:SQL Server 2008 ИНЕКЕ с CASE/когда и NULL значение
SELECT *
FROM MyTable m
WHERE m.Category = CASE WHEN @Category IS NULL THEN m.Category ELSE @Category END
В принципе, мне нужны линии, где m.Category
равняется @Category
если один имеет значение; else, мне нужны все строки.
НО если m.Category
имеет NULL
значение, линия НЕ отправить обратно, потому что SQL нужно что-то Лиле WHERE m.Category IS NULL
и не WHERE m.Category = NULL
.
Итак, как я мог бы изменить мою просьбу сообщить в SQL: «Мне нужны все строки, если @Category
равно нуль (четные строки, где m.Category
нулевой), но если @Category
имеет значение, мне просто нужны линии, где m.Category
Удачные @Category
?
Хорошо, это было так просто, я даже не думаю об этом ... Большое спасибо – AlexB
@ романо-пекарем - что вы называете это? Я использовал его около 5 лет назад и нуждался в нем сегодня, и я не мог для жизни меня сообщите, что он называется. – Steven
@Steven хорошо, я не знаю, не уверен, что у него есть определенное имя –