Maison >base de données >tutoriel mysql >Comment simuler IS DISTINCT FROM et IS NOT DISTINCT FROM dans 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 :
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>
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!