Maison >base de données >tutoriel mysql >Comment les opérateurs `!=` et `` se comportent-ils avec des valeurs NULL dans SQL ?

Comment les opérateurs `!=` et `` se comportent-ils avec des valeurs NULL dans SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-21 14:42:10360parcourir

How Do `!=` and `` Operators Behave with NULL Values in SQL?

Opérateurs != et <> SQL et valeurs NULL : une clarification

Les opérateurs

SQL != (différent de) et <> présentent un comportement unique lorsqu'ils rencontrent des valeurs NULL. Comprendre cela nécessite de saisir l'essence de NULL en SQL.

NULL signifie l'absence de valeur, pas une chaîne vide ("") ou zéro (0). Cela indique qu'aucune valeur de données n'a été attribuée à un champ ou une colonne.

Normalement, != et <> renvoient true si les valeurs diffèrent. Cependant, cela ne s'applique pas à NULL.

Considérez ceci :

<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn != NULL; -- (0 Results)</code>

Cette requête ne donne aucun résultat, même si MyColumn contient des entrées nonNULL. La raison ? != et <> ne peuvent pas fonctionner sur NULL. Ils ont besoin d'une valeur concrète à titre de comparaison.

À l'inverse :

<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn IS NOT NULL; -- (568 Results)</code>

Cette requête renvoie correctement toutes les lignes où MyColumn n'est pas NULL. IS NOT NULL est spécifiquement conçu pour vérifier l'absence d'une valeur (NULL).

En résumé : NULL est une valeur unique en SQL. Utiliser != ou <> pour comparer avec NULL donne toujours false. Pour tester avec précision l'absence de valeur, utilisez l'opérateur IS NOT 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn