Почему ключевое слово MYSQL IN не учитывает значения NULL

Я использую следующий запрос:

select count(*) from Table1 where CurrentDateTime>'2012-05-28 15:34:02.403504' and Error not in ('Timeout','Connection Error');

Удивительно, но это утверждение не включает строки, имеющие значение Error как NULL. Мое намерение состоит в том, чтобы отфильтровать только строки со значением Error как 'Timeout' (или ) 'Ошибка соединения'. Мне нужно указать дополнительное условие (ИЛИ ошибка равна NULL), чтобы получить правильный результат.

Почему MYSQL отфильтровывает результаты со значениями NULL? Я думал, что ключевое слово IN вернет логический результат (1/0), и теперь я понимаю, что некоторые ключевые слова MYSQL не возвращают логические значения, они также могут возвращать NULL .... но почему оно обрабатывает NULL как особое?

9
задан Vivek S 30 May 2012 в 05:56
поделиться