La différence entre IS NULL et =NULL
En SQL, les opérateurs IS NULL
et =NULL
sont utilisés pour vérifier si un champ contient une valeur nulle. Cependant, il existe des différences significatives dans leur fonctionnement, et une mauvaise utilisation peut conduire à des résultats inattendus.
=NULL
L'opérateur=NULL
renvoie vrai uniquement si la valeur NULL est explicitement attribuée au champ (par exemple, field = NULL
). Cependant, dans la clause WHERE
, il traite les valeurs NULL comme fausses, excluant ainsi les lignes contenant des valeurs NULL du jeu de résultats.
EST NULL
L'opérateurIS NULL
renvoie vrai lorsque le champ est explicitement affecté à NULL ou n'a aucune valeur (par exemple, field IS NULL
). Ce comportement est cohérent à l'intérieur et à l'extérieur de la clause WHERE
.
Quand utiliser quel opérateur
IS NULL
lorsque vous devez sélectionner des lignes contenant des valeurs NULL ou faire la différence entre les valeurs NULL et les valeurs inconnues.
WHERE
dans une clause =NULL
car elle exclut les lignes contenant des valeurs NULL que vous souhaiterez peut-être inclure dans l'ensemble de résultats. Utilisez à la place pour vérifier explicitement les valeurs NULL. IS NULL
Exemple
La requête suivante utilise pour sélectionner toutes les lignes qui contiennent une valeur NULL dans le champ « nom » : IS NULL
<code class="language-sql">SELECT * FROM table WHERE name IS NULL;</code>
dans la clause WHERE
, ce qui exclut à tort les lignes contenant des valeurs NULL : =NULL
<code class="language-sql">SELECT * FROM table WHERE name = NULL;</code>
et IS NULL
, vous pouvez vous assurer que vos requêtes SQL renvoient les résultats souhaités et éviter toute confusion potentielle ou comportement inattendu. =NULL
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!