PaliSkill
SQL avancé

Leçon 7 / 9 — Chapitre 2: Fonctions date approfondies

Différence précise en mois et en années : AGE()

Compter des jours (vu en tout début de chapitre) devient vite peu lisible pour de longues durées. AGE(date1, date2) calcule directement la différence entre deux dates, exprimée en années, mois et jours.

SELECT AGE(date_inscription, DATE '2024-01-01') FROM clients WHERE id = 1;

date_inscription (id 1) vaut le 15 mars 2024. Depuis le 1ᵉʳ janvier 2024 : 2 mois complets (janvier, février), puis 14 jours de mars. Résultat : « 2 mons 14 days ».

Toujours fournir les deux dates explicitement : AGE(date), avec un seul argument, calcule la différence avec la date du jour — non déterministe, à éviter dans un exercice ou un rapport reproductible.

À retenir :

  • AGE(date1, date2) renvoie une durée exprimée en années, mois et jours, plus lisible qu'un simple nombre de jours pour une longue période.
  • Toujours utiliser la forme à deux arguments (deux dates explicites) : la forme à un seul argument se base sur la date du jour, donc non déterministe.
  • AGE reste spécifique à certains moteurs (PostgreSQL, notamment) ; d'autres proposent des fonctions équivalentes sous un autre nom.

À vous de jouer : calculez AGE(date_inscription, DATE '2024-01-01') pour le client d'id 6 (2024-05-20).

🔒

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