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 l'attestation finale.

8 500 XOF / 12,96 € / 14,12 $

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

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.