Oui, il y a une grande différence entre un NULL
valeur et une valeur vide/vide.
Voici une ressource qui décrit les différences.
Lorsque myText IS NULL
:
myText IS NOT NULL
évalue àFALSE
myText != ''
évalue àNULL
(qui se comporte essentiellement de la même manière queFALSE
serait dans ce cas précis que vous avez écrit)
Cependant, vous ne devez pas prendre l'habitude de les traiter de la même manière, car la plupart du temps, ils se comporteront différemment :par exemple :
Supposons que vous ayez une table tbl
:
id text
1 NULL
2
3 abc
Remarque : 1 contient un NULL
valeur, et 2 contient une chaîne vide (''
).
Si vous exécutez la requête suivante :
SELECT * FROM tbl WHERE text != ''
... il renverra l'enregistrement 3.
Si vous exécutez la requête suivante :
SELECT * FROM tbl WHERE text IS NOT NULL
... il renverra les enregistrements 2 et 3.