Outils pour utilisateurs

Outils du site


cours:informatique:dev:db:postgres:fondamentaux_postgresql:250_is_null

PostgreSQL IS NULL

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;

L'opérateur IS NULL

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.

Exemples

Par défaut le client psql représente 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;
Il ne faut pas confondre chaine vide est valeur NULL (non renseigné). C'est souvent une mauvaise pratique que d'enregistrer une chaine vide à la place d'une valeur non renseignée.

Résumé

  • Pour les bases de données, NULL signifie information manquante ou non applicable ;
  • L'opérateur IS NULL retourne vrai si la valeur est NULL, faux sinon ;
  • L'opérateur contraire IS NOT NULL existe également.

◁ Précédent | ⌂ Retour au sommaire | Suivant ▷

cours/informatique/dev/db/postgres/fondamentaux_postgresql/250_is_null.txt · Dernière modification : 2025/04/12 12:13 de yoann