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