Maison > base de données > tutoriel mysql > Comment fonctionne l'opérateur `` Null-Safe Equal de MySQL ?

Comment fonctionne l'opérateur `` Null-Safe Equal de MySQL ?

DDD
Libérer: 2025-01-05 04:50:40
original
530 Les gens l'ont consulté

How Does MySQL's `` Null-Safe Equal Operator Work?

Le code <=> Opérateur : une compréhension plus approfondie

Dans MySQL, l'opérateur <=> L'opérateur est souvent rencontré dans les requêtes, mais son objectif peut être un peu ambigu. Cet article vise à clarifier sa signification et à explorer ses applications.

Qu'est-ce que le <=> Opérateur ?

Le <=> L'opérateur dans MySQL est connu sous le nom d'opérateur "null-safe égal". Il se comporte de la même manière que l'opérateur = normal, qui compare deux valeurs et renvoie 0 (différent) ou 1 (égal). Cependant, <=> gère les valeurs NULL différemment.

Gestion des valeurs NULL

Contrairement à l'opérateur = normal, <=> traite les valeurs NULL comme n'importe quelle autre valeur. Cela signifie qu'une comparaison d'une valeur à NULL n'entraînera jamais NULL comme résultat. Au lieu de cela, <=> renvoie 0 si les valeurs ne sont pas égales et 1 si elles sont égales.

Par exemple, la requête :

WHERE p.name <=> NULL
Copier après la connexion

renverra toutes les lignes où la colonne p.name est NULL ou not NULL.

Utilité du <=> Opérateur

L'opérateur <=> L'opérateur est particulièrement utile lorsque les deux opérandes peuvent contenir des valeurs NULL et que vous avez besoin d'un résultat de comparaison cohérent. De plus, il peut être utilisé avec des instructions préparées, où l'espace réservé peut accepter à la fois des valeurs scalaires et NULL sans nécessiter de modifications de la requête.

Opérateurs associés

MySQL fournit également deux autres opérateurs de comparaison avec NULL : IS NULL et IS NOT NULL. Ces opérateurs font partie de la norme ANSI et sont également pris en charge par d'autres bases de données. Ils peuvent être considérés comme des spécialisations du <=> opérateur :

  • 'a' IS NULL ==> 'un' ≪=> NULL
  • 'a' N'EST PAS NULL ==> NOT('a' <=> NULL)

Support

Pendant que <=> est spécifique à MySQL, la norme SQL:2003 a introduit un prédicat similaire appelé IS [NOT] DISTINCT FROM. Ce prédicat fonctionne de la même manière que le prédicat <=> opérateur.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal