Quelle est la différence entre les deux EST NULLE et =NULL
Je suis surpris de voir que c'EST NUL et =NULL donnent des résultats différents dans une requête select. Quelle est la différence entre eux? Lors de l'utilisation de ce. Je serais heureux si vous pouvez m'expliquer en détail.
- Découvrez article de wikipédia pour plus d'informations.
- C'est une dup d'un certain nombre de questions: stackoverflow.com/questions/1843451/...
Vous devez vous connecter pour publier un commentaire.
= NULL
est toujoursunknown
(c'est le morceau de 3 état logique), maisWHERE
clause traite commefalse
et des gouttes à partir de l'ensemble de résultats. Donc, pourNULL
vous devez utiliserIS NULL
Raisons sont décrites ici: Pourquoi est-NULL = NULL false dans SQL server
false
. Il estunknown
. Si elle était fausse, alorsNOT(X = NULL)
seraittrue
. Ce n'est pas le cas. SQL utilise 3 évalués à la logique.WHERE
clause traiteunknown
commefalse
et abandonnent le jeu de résultats.À ajouter à l'existant, des réponses, cela dépend si vous avez ANSI_NULLS ou pas, lors de l'utilisation de "= NULL".
en raison des trois-valeur logique de SQL:
http://en.wikipedia.org/wiki/Null_%28SQL%29#Three-valued_logic_.283VL.29
Extrait d'un paragraphe pertinent :