Por que a palavra-chave MYSQL IN não considera valores NULL

Eu estou usando a seguinte consulta:

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

Surpreendentemente, essa instrução não inclui as linhas que possuem o valor Error como NULL. Minha intenção é filtrar apenas as linhas com o valor Error como 'Timeout' (ou) 'Connection Error'. Eu preciso dar uma condição adicional (OU erro é NULL) para recuperar o resultado correto.

Por que o MYSQL está filtrando os resultados com valores NULL? Eu pensei que IN palavra-chave iria retornar um resultado booleano (1/0) e agora eu entendo que algumas palavras-chave MYSQL não retornam valores booleanos, ele pode retornar NULL também .... mas Por que ele está tratando NULL como especial?

questionAnswers(6)

yourAnswerToTheQuestion