¿Por qué la palabra clave MYSQL IN no considera valores NULL?

Estoy usando la siguiente consulta:

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

Sorprendentemente, esta declaración no incluye las filas que tienen el valor de Error como NULL. Mi intención es filtrar solo las filas con el valor de Error como 'Tiempo de espera' (o) 'Error de conexión'. Necesito dar una condición adicional (O error es NULL) para recuperar el resultado correcto.

¿Por qué MYSQL filtra los resultados con valores NULL? Pensé que la palabra clave IN devolvería un resultado booleano (1/0) y ahora comprendo que algunas palabras clave MYSQL no devuelven valores booleanos, también podrían devolver NULL ... pero ¿por qué trata NULL como especial?

Respuestas a la pregunta(6)

Su respuesta a la pregunta