Notes et traduction du tutoriel PostgreSQL Tutorial
Dans l'univers des bases de données, NULL
signifie l'absence d'information (indéterminé) ou non applicable. NULL
n'est pas une valeur et ne peut donc pas être comparé à une valeur comme un nombre ou une chaine de caractères.
La comparaison entre NULL
et une valeur retourne toujours NULL
. et NULL n'est pas égal à NULL
-- cette requete retournera NULL (indéterminé) SELECT NULL = NULL AS RESULT;
Pour vérifier si une valeur est NULL, on peut pas utiliser les opérateurs =
ou <>
;
Il faut utiliser l'opérateur IS NULL
VALUE IS NULL
L'opérateur retourne vrai si “value” est NULL, faux sinon. L'opérateur contraire IS NOT NULL
existe également.
VALUE IS NOT NULL
Pour apprendre comment utiliser IS NULL
dans une requête de tri voir la note ORDER BY ;
PostgreSQL propose des fonctions permettant de travailler avec NULL
comme NULLIF
, ISNULL
ou COALESCE
;
Pour vous assurer qu'une colonne ne contiendra pas de valeur indéterminée NULL, vous pouvez utiliser la contrainte NOT NULL.
NULL
par une chaine de caractère vide. Pour modifier la façon dont psql représente NULL dans le terminal on peut utiliser la commande suivante :
\pset null 'NULL'
-- Retrouver les enregistrements dont le champs address2 est non renseigné SELECT address, address2 FROM address WHERE address2 IS NULL;
IS NULL
retourne vrai si la valeur est NULL, faux sinon ;IS NOT NULL
existe également.