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

Comment réécrire « IS DISTINCT FROM » et « IS NOT DISTINCT FROM » dans SQL Server 2008R2 ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-11 09:55:43990parcourir

How to Rewrite

Remplacement de "IS DISTINCT FROM" et "IS NOT DISTINCT FROM" dans SQL Server 2008R2

Microsoft SQL Server 2008R2 ne prend pas en charge nativement les opérateurs SQL standard « IS DISTINCT FROM » et « IS NOT DISTINCT FROM ». Ce guide propose des expressions équivalentes à utiliser dans SQL Server 2008R2.

Alternative pour "EST DISTINCT DE"

L'opérateur "IS DISTINCT FROM" renvoie TRUE si deux valeurs sont différentes, ou si l'une ou l'autre des valeurs est NULL. Voici l'équivalent :

<code class="language-sql">((a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))</code>

Alternative pour "N'EST PAS DISTINCT DE"

L'opérateur "IS NOT DISTINCT FROM" renvoie TRUE si deux valeurs sont identiques ou si les deux valeurs sont NULL. L'équivalent est :

<code class="language-sql">(a = b OR (a IS NULL AND b IS NULL))</code>

Considérations importantes

Ces remplacements ne reflètent pas parfaitement le comportement des opérateurs standards, notamment en ce qui concerne la gestion de NULL dans les comparaisons au-delà de la simple égalité. Cependant, ils fournissent une solution pratique dans les limites de la compatibilité des types de données de SQL Server 2008R2. Soyez prudent lorsque vous appliquez ces alternatives à des requêtes complexes.

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