Dans le monde des bases de données, vous rencontrerez souvent des situations où des données sont manquantes, inconnues ou non applicables. SQL utilise un marqueur spécial appelé NULL pour représenter ces cas. Comprendre NULL est essentiel car il se comporte différemment de toute autre valeur.
NULL n'est pas une valeur ; c'est un état ou un indicateur signifiant qu'une donnée n'existe pas dans la base.
Il est important de se rappeler ce que NULL n'est pas :
Parce que NULL représente un état inconnu, vous ne pouvez pas utiliser les opérateurs de comparaison standards comme = ou <> avec lui. Toute comparaison avec NULL (par exemple valeur = NULL) donnera « inconnu », ni vrai ni faux.
Pour tester NULL, utilisez des opérateurs spécifiques :
Pour trouver les enregistrements où une colonne n'a pas de valeur.
SELECT *
FROM address
WHERE address2 IS NULL;
Pour trouver les enregistrements où une colonne contient une donnée.
SELECT *
FROM address
WHERE address2 IS NOT NULL;
Une règle importante : NULL se propage. Si vous effectuez une opération mathématique avec une valeur NULL, le résultat sera NULL.
10 + NULL = NULL5 * NULL = NULL'Hello ' || NULL = NULL -- concaténation renverra NULL= ou <>) ne fonctionnent pas avec NULL.