Dlaczego słowo kluczowe MYSQL IN nie uwzględnia wartości NULL

Używam następującego zapytania:

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

Zaskakujące jest, że instrukcja ta nie obejmuje wierszy o wartości błędu NULL. Zamierzam filtrować tylko wiersze z wartością błędu „Limit czasu” (lub) „Błąd połączenia”. Muszę podać dodatkowy warunek (błąd OR ma wartość NULL), aby uzyskać poprawny wynik.

Dlaczego MYSQL odfiltrowuje wyniki z wartościami NULL? Myślałem, że słowo kluczowe IN zwróci wynik boolowski (1/0), a teraz rozumiem, że niektóre słowa kluczowe MYSQL nie zwracają wartości boolowskich, może też zwrócić NULL .... ale dlaczego traktuje NULL jako wyjątkowe?

questionAnswers(6)

yourAnswerToTheQuestion