PaliSkill
SQL avancé

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 » sans CASE WHEN.
  • NULLIF peut transformer une valeur de statut trop fréquente en NULL, 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