Leçon 9 / 9 — Chapitre 3: Fonctions numériques et NULL avancé
Cas pratique : un rapport tolérant aux valeurs extrêmes et manquantes
Ce cas pratique combine plusieurs fonctions de ce chapitre pour construire un rapport robuste.
SELECT nom,
ROUND(ABS(montant), 0) AS montant_absolu_arrondi,
GREATEST(montant, 0) AS montant_ou_zero,
NULLIF(statut, 'inactif') AS statut_si_actif
FROM clients
WHERE id IN (4, 6);
Pour le client d'id 4 (montant = 60.75, statut = 'actif') : ABS(60.75) = 60.75, ROUND(..., 0) = 61 ; GREATEST(60.75, 0) = 60.75 ; NULLIF('actif', 'inactif') = 'actif' (inchangé, les deux diffèrent).
Pour le client d'id 6 (montant = -150, statut = 'inactif') : ABS(-150) = 150, ROUND(..., 0) = 150 ; GREATEST(-150, 0) = 0 (le montant négatif est ramené à 0) ; NULLIF('inactif', 'inactif') = NULL (les deux valeurs sont égales).
À retenir :
- Plusieurs fonctions numériques et de gestion de NULL se combinent naturellement dans une seule requête de rapport.
GREATEST(colonne, 0)est une façon courante d'afficher « jamais moins que zéro » sansCASE WHEN.NULLIFpeut transformer une valeur de statut trop fréquente enNULL, pour la faire ressortir comme une exception dans un rapport.
À vous de jouer : recalculez ces trois colonnes pour le client d'id 1 (montant = 120.456, 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