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.NULLIFest en quelque sorte l'inverse deCOALESCE: 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