SQLServer получает результаты, где значение равно нулю
-
09-06-2019 - |
Вопрос
У меня есть база данных SQL-сервера, к которой я запрашиваю, и я хочу получать информацию только тогда, когда определенная строка равна нулю.Я использовал операторwhere, например:
WHERE database.foobar = NULL
и он ничего не возвращает.Однако я знаю, что есть хотя бы один результат, потому что я создал в базе данных экземпляр, где «foobar» равен нулю.Если я уберу операторwhere, он покажет данные, поэтому я знаю, что это не остальная часть запроса.
Может кто-нибудь мне помочь?
Решение
Правильный синтаксис: WHERE data.foobar IS NULL.Видеть http://msdn.microsoft.com/en-us/library/ms188795.aspx для получения дополнительной информации
Другие советы
Сравнение с NULL каждый раз будет ложным.Вместо этого вы хотите использовать IS NULL.
x = NULL -- always false
x <> NULL -- always false
x IS NULL -- these do what you want
x IS NOT NULL
Читать Тестирование на наличие нулевых значений, вам нужно IS NULL, а не = NULL
Это база данных SQL Server?Если да, используйте IS NULL
вместо сравнения (MSDN).