Maison > base de données > tutoriel mysql > Comment puis-je réécrire les opérateurs IS DISTINCT FROM et IS NOT DISTINCT FROM dans SQL Server 2008R2 ?

Comment puis-je réécrire les opérateurs IS DISTINCT FROM et IS NOT DISTINCT FROM dans SQL Server 2008R2 ?

Patricia Arquette
Libérer: 2025-01-11 10:54:43
original
849 Les gens l'ont consulté

How Can I Rewrite IS DISTINCT FROM and IS NOT DISTINCT FROM Operators in SQL Server 2008R2?

Réécriture de l'opérateur IS DISTINCT FROM dans SQL Server 2008R2

SQL Server 2008R2 ne prend pas en charge les opérateurs standards IS DISTINCT FROM et IS NOT DISTINCT FROM. Cet article propose une solution pour réécrire ces expressions en utilisant une syntaxe alternative compatible avec cette version du logiciel.

EST DISTINCT DE

Le prédicat IS DISTINCT FROM est évalué à True si les deux valeurs ne sont pas égales ou si l'une des valeurs est NULL ; il est évalué à False si elles sont égales et aucune des deux n'est NULL ; Il peut être réécrit ainsi :

<code class="language-sql">((a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))</code>
Copier après la connexion

Exemple :

<code class="language-sql">SELECT CASE
    WHEN (a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL) THEN 'True'
    ELSE 'False'
END AS DistinctResult</code>
Copier après la connexion

N'EST PAS DISTINCT DE

L'opérateur

IS NOT DISTINCT FROM est évalué à True si les deux valeurs sont égales ou les deux sont NULL, et est évalué à False si elles ne sont pas égales et pas toutes les deux NULL. Il peut être réécrit comme :

<code class="language-sql">(NOT (a != b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL))</code>
Copier après la connexion

Exemple :

<code class="language-sql">SELECT CASE
    WHEN (NOT (a != b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL)) THEN 'True'
    ELSE 'False'
END AS NotDistinctResult</code>
Copier après la connexion

Remarque :

Le remplacement fourni garantit que le résultat est toujours vrai ou faux, évitant ainsi l'état inconnu qui peut se produire avec les opérandes 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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal