(A) SQL opérateurs de comparaison de résultats dans trois valeurs possibles: True, False et Inconnu. Si l'un ou les deux opérandes sont des NULL
, alors le résultat est Inconnu. Prenons l'exemple suivant, lorsque l'on compare certaines valeurs (l'âge d'une personne) avec une constante (18):
21 >= 18 -- True
15 >= 18 -- False
NULL >= 18 -- Unknown
Comme vous pouvez le voir, la base de données est/peut pas décider si NULL
est égal ou supérieur à 18.
(B) La base de données, vous obtiendrez uniquement les lignes où l' WHERE
clause est évaluée à True. L'inversion de l'expression (par exemple, WHERE age >= 18
changé d' WHERE age < 18
) n'a pas d'incidence sur des résultats Inconnus.
Vous pouvez utiliser l' IS [NOT] NULL
pour correspondre NULL
valeurs. La requête suivante sélectionnez les lignes où la colonne ne correspond pas au modèle OU de la colonne est NULL:
WHERE [TextCol] NOT LIKE '%TAX%' OR [TextCol] IS NULL
Des fonctions telles que ISNULL
et COALESCE
peut être utilisé pour transformer l' NULL
en valeur.