<> е стандартен SQL-92; != е негов еквивалент. И двете оценяват стойности, които NULL не е -- NULL е заместител, който казва, че липсва стойност.
Ето защо можете да използвате само IS NULL /IS NOT NULL като предикати за такива ситуации.
Това поведение не е специфично за SQL Server. Всички съвместими със стандартите SQL диалекти работят по същия начин.
Забележка :За сравнение, ако стойността ви не е нула , използвате IS NOT NULL , докато за сравнение с not null стойност, използвате <> 'YOUR_VALUE' . Не мога да кажа дали стойността ми е равна или не на NULL, но мога да кажа дали стойността ми е NULL или NOT NULL. Мога да сравня дали стойността ми е нещо различно от NULL.