Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Diferença entre IS NOT NULL e NOT (campo =NULL) nestas 2 consultas


NULLs são um pouco estranhos. Um NULL nunca igual a qualquer coisa incluindo outro NULL. Além disso, qualquer operação booleana em um NULL retorna NULL.

A expressão end IS NOT NULL avaliará false se end é NULL e true se end não é nulo.

A expressão NOT( end=NULL) na verdade sempre será avaliado como NULL porque (end = NULL) é igual a NULL e NOT (NULL) também é igual a NULL. Mais especificamente, em uma cláusula WHERE, ela nunca avaliar true .