SQLServer получает результаты, где значение равно нулю - PullRequest
3 голосов
/ 26 августа 2008

У меня есть база данных SQL-сервера, к которой я обращаюсь, и я хочу получать информацию только в том случае, если конкретная строка равна нулю. Я использовал оператор where, такой как:

WHERE database.foobar = NULL

и ничего не возвращает. Однако я знаю, что есть по крайней мере один результат, потому что я создал экземпляр в базе данных, где 'foobar' равен нулю. Если я возьму оператор where, он покажет данные, поэтому я знаю, что это не остальная часть запроса.

Кто-нибудь может мне помочь?

Ответы [ 4 ]

6 голосов
/ 26 августа 2008

Правильный синтаксис: ГДЕ database.foobar НЕДЕЙСТВИТЕЛЕН. См. http://msdn.microsoft.com/en-us/library/ms188795.aspx для получения дополнительной информации

3 голосов
/ 26 августа 2008

Сравнение с NULL будет ложным каждый раз. Вместо этого вы хотите использовать IS NULL.

x =  NULL      -- always false
x <> NULL      -- always false

x IS NULL      -- these do what you want
x IS NOT NULL
2 голосов
/ 26 августа 2008

Чтение Проверка на нулевые значения , вам нужно IS NULL, а не = NULL

1 голос
/ 26 августа 2008

Это база данных SQL Server? Если это так, используйте IS NULL вместо сравнения ( MSDN ).

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