Получить результаты с подстановочным знаком - PullRequest
1 голос
/ 08 мая 2019

Я возвращаю переменную @ChangeStatus с 'Y', 'N', Null, и мне нужно показать данные, основанные на том, что столбец содержит строку, отличную от переменной

declare @ChangeStatus char(1) = 'Y'
select * from Application 
where Changes = (case when @ChangeStatus is null then Changes end)
and Changes like (case when @ChangeStatus = 'Y' then '%'end)
and Changes like (case when @ChangeStatus = 'N' then NULL end)

, однако данные не отображаются

1 Ответ

3 голосов
/ 08 мая 2019

Я подозреваю, что вы хотите использовать комбинацию AND и OR с некоторыми скобками, добавленными в нечто вроде этого:

select * 
from Application 
where 
    @ChangeStatus is null OR
    (@ChangeStatus = 'Y' AND Changes like '%') OR
    (@ChangeStatus = 'N' AND Changes is null)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...