Выражение SQL Server CASE в предложении WHERE для проверки значения NULL - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь выполнить этот запрос в SQL Server:

select * from users where case when 1=1 then name is null else true end;

Но я получил эту ошибку:

Неверный синтаксис рядом с ключевым словом 'is'

Этот запрос успешно работает в MySQL. Подскажите, пожалуйста, эквивалент этого запроса в SQL Server?

1 Ответ

2 голосов
/ 30 октября 2019

Вы не можете сделать такое выражение, синтаксис неправильный.

Если вы хотите выбрать условие, вы должны поиграть с логическими операторами:

where (1=1 and name is null)
   or (1<>1 and 1=1)

Я заменил true условием, которое всегда равно true (1=1), потому что true сама по себе является еще одной ошибкой синтаксиса в вашем запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...