SQL Server возвращает строки, которые не равны <> значению и NULL

У меня есть таблица со столбцом значений, который может иметь значение rowTypeID = (1,2,3 или null). Я хотел бы написать запрос, который возвращает любую строку, в которой нет значения 3. В этом примере я хочу, чтобы все строки NULL вместе со всеми 1,2 строками, которые я просто не делаю Мне нужны строки со значением 3

Установить ANSI null В настоящее время для базы данных установлено ON.

Мне любопытно, почему я не могу написать

select * from myTable where myCol <> 3

Этот запрос не вернет ни одной строки с NULL в столбце myCol

Я должен написать

select * from my Table where myCol <> 3 or myCol Is NULL 

Всегда ли я должен включать IS NULL или я могу настроить его так, чтобы предложение where myCol <> 3 возвращало строки, которые имеют значение Null в качестве значения для моего Col

19
задан Charles 27 January 2014 в 20:31
поделиться