Maison >base de données >tutoriel mysql >Comment simuler IS DISTINCT FROM et IS NOT DISTINCT FROM dans SQL Server 2008 R2 ?

Comment simuler IS DISTINCT FROM et IS NOT DISTINCT FROM dans SQL Server 2008 R2 ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-11 10:39:42504parcourir

How to Simulate IS DISTINCT FROM and IS NOT DISTINCT FROM in SQL Server 2008 R2?

L'émulation EST DISTINCT DE et N'EST PAS DISTINCT DE dans SQL Server 2008 R2

SQL Server 2008 R2 ne prend pas en charge directement IS DISTINCT FROM et IS NOT DISTINCT FROM. Cependant, nous pouvons obtenir la même fonctionnalité en utilisant des expressions SQL alternatives.

IS DISTINCT FROM renvoie VRAI si les opérandes sont inégaux ou si l'un ou l'autre des opérandes est NULL. IS NOT DISTINCT FROM renvoie VRAI si les opérandes sont égaux ou si les deux opérandes sont NULL.

Voici comment répliquer ces opérateurs :

  • Réplication IS DISTINCT FROM :
<code class="language-sql">(a <> b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL)</code>
  • Réplication IS NOT DISTINCT FROM :
<code class="language-sql">(a = b OR a IS NULL AND b IS NULL)</code>

Ces expressions représentent les valeurs NULL. L'émulation IS DISTINCT FROM garantit que si un opérande est NULL, le résultat est VRAI à moins que les deux ne soient NULL. L'émulation IS NOT DISTINCT FROM se simplifie en une vérification d'égalité directe ou une vérification des doubles NULL. Cette approche évite les complexités liées à la gestion du UNKNOWN résultat qui peut découler d'une logique booléenne impliquant des 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