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!