Sí, hay una gran diferencia entre un NULL
valor y un valor en blanco/vacío.
Aquí está un recurso que describe las diferencias.
Cuando myText IS NULL :
myText IS NOT NULLse evalúa comoFALSEmyText != ''evalúa aNULL(que esencialmente se comporta igual queFALSEsería en este caso específico que escribiste)
Sin embargo, no debes acostumbrarte a tratarlos igual, ya que la mayoría de las veces se comportarán de manera diferente:Por ejemplo:
Suponga que tiene una tabla tbl :
id text
1 NULL
2
3 abc
NULL valor, y 2 contiene una cadena vacía ('' ).
Si ejecuta la siguiente consulta:
SELECT * FROM tbl WHERE text != ''
... devolverá el registro 3.
Si ejecuta la siguiente consulta:
SELECT * FROM tbl WHERE text IS NOT NULL
... devolverá los registros 2 y 3.