Chaîne vide NULL vs

J'ai une table où certaines lignes ont une certaine vide cells. J'ai essayé de choisir ces lignes à l'aide EST fonction NULLE. Mais la requête select 0 lignes.

select * from zzz_fkp_registration_female where fname is null;
(0 row(s) affected)

Maintenant j'ai changé ma requête:

select * from zzz_fkp_registration_female where fname is null or fname ='';

J'ai obtenu le résultat souhaité.

Pourquoi EST NUL de ne pas donner le résultat? Quelle est la différence entre IS NULL et '' car les cellules sont vides. Veuillez expliquer.

Dans sql Null est définie comme Nulle et " se réfère à une certaine valeur vide
"Une chaîne vide: On peut dire qu'il n'y a aucune valeur. Mais NULLE signifie que nous ne pouvons pas dire qu'il n'y a aucune valeur. Cela signifie qu'il y a peut être de la valeur, mais son inconnu. C'est la raison pour laquelle la valeur NULL est différente de la chaîne vide.
Ne pas permettre à zéro les chaînes de longueur que le nom (qui ont une contrainte, soit de déclenchement). Utiliser la valeur NULL dans ce cas.
NULL, NULL, vide est vide....
Null signifie qu'il contient des 'NULL', comme une valeur, et " ne signifie pas une quelconque valeur

OriginalL'auteur nischalinn | 2016-11-17