PaliSkill
SQL avancé

Leçon 6 / 9 — Chapitre 3: Fonctions numériques et NULL avancé

NULLIF

NULLIF(valeur1, valeur2) renvoie NULL si les deux valeurs sont égales, sinon renvoie valeur1 inchangée — l'inverse de COALESCE, qui remplace un NULL par une valeur de repli.

SELECT NULLIF(statut, 'inactif') FROM clients WHERE id = 6;

statut vaut 'inactif' pour ce client : les deux valeurs comparées sont égales, NULLIF renvoie donc NULL.

SELECT NULLIF(statut, 'inactif') FROM clients WHERE id = 1;

statut vaut 'actif' : différent de 'inactif', NULLIF renvoie statut inchangé, soit 'actif'.

Un usage courant est d'éviter une division par zéro : montant / NULLIF(diviseur, 0) renvoie NULL plutôt qu'une erreur si diviseur vaut 0.

À retenir :

  • NULLIF(a, b) renvoie NULL si a égale b, sinon renvoie a tel quel.
  • NULLIF est en quelque sorte l'inverse de COALESCE : l'un transforme une valeur en NULL, l'autre remplace un NULL par une valeur.
  • Un usage classique : NULLIF(diviseur, 0) protège une division contre une erreur de division par zéro.

À vous de jouer : calculez NULLIF(statut, 'actif') pour le client d'id 1 (statut = 'actif').

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 80 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès