Maison > base de données > tutoriel mysql > Pourquoi NULL = NULL renvoie-t-il False dans SQL Server ?

Pourquoi NULL = NULL renvoie-t-il False dans SQL Server ?

Mary-Kate Olsen
Libérer: 2025-01-20 23:18:10
original
496 Les gens l'ont consulté

Why Does NULL = NULL Return False in SQL Server?

Comprendre pourquoi NULL = NULL est faux dans SQL Server

Dans SQL Server, une condition de clause WHERE telle que nullParam = NULL est évaluée comme fausse. Cela peut sembler contre-intuitif, étant donné que NULL signifie souvent des données manquantes. La clé est de comprendre l'interprétation de NULL par SQL Server.

NULL ne représente pas simplement des données manquantes ; il représente une valeur inconnue ou inexistante. Par conséquent, comparer deux valeurs NULL est intrinsèquement indéterminé. Nous ne pouvons pas dire avec certitude si deux inconnues sont égales ou inégales. Cette incertitude se traduit par une fausse évaluation.

Cela est conforme à la norme ANSI SQL-92. Par défaut, SQL Server fonctionne avec ANSI_NULLS ON, appliquant ce comportement. Cependant, la définition de ANSI_NULLS OFF change le résultat de la comparaison en vrai.

Considérez cet exemple :

<code class="language-sql">SET ANSI_NULLS OFF;

IF NULL = NULL
    PRINT 'true';
ELSE
    PRINT 'false';

SET ANSI_NULLS ON;

IF NULL = NULL
    PRINT 'true';
ELSE
    PRINT 'false';</code>
Copier après la connexion

Avec ANSI_NULLS OFF, le résultat est « vrai ». Avec ANSI_NULLS ON (valeur par défaut), le résultat est « faux », démontrant comment ce paramètre contrôle la gestion par SQL Server des comparaisons NULL. L'utilisation de IS NULL est l'approche correcte pour vérifier les valeurs nulles.

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