lamento contradecir, simplemente NULL no es igual '' null es inexistencia, y cuando tu le dices que guarde '' pues aunque no lo creas hay caracteres no imprimible que si estan presentes

por eso para saber si es null preguntas si es NULL el dato no le preguntas si campo='' espero te halla quedado claro