У меня есть следующая таблица SQL:
CREATE TABLE [dbo].[Test](
[TestID] [int] NOT NULL,
[TestNum] [int] NULL,
[TestReason] [varchar](50) NULL
)
Итак TestNum INT , который допускает значения NULL , и я вставил в таблицу целый ряд данных, некоторые из которых содержат строки содержит значение NULL для TestNum
Если я тогда выполню следующий запрос
select *
from Test
where TestNum != 123
Запрос aboe не возвращает строки, имеющие значение NULL . Я ожидаю, что он вернет ВСЕ строки, КРОМЕ тех, которые имеют значение 123.
Почему это?
Я выполняю этот запрос на базе данных MS-SQL 2000, импортированной в MS SQL 2005. Имеет ли это какой-либо эффект? Или это стандартное поведение для всех версий MS SQL Server?