PaliSkill
SQL avancé

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

Premier et dernier jour du mois

DATE_TRUNC('month', date) donne directement le premier jour du mois (leçon précédente). Le dernier jour se calcule en ajoutant un mois puis en retirant un jour.

SELECT DATE_TRUNC('month', date_inscription) + INTERVAL '1 month' - INTERVAL '1 day'
FROM clients WHERE id = 6;

Pour le client d'id 6 (2024-05-20) : DATE_TRUNC('month', ...) donne 2024-05-01 ; + INTERVAL '1 month' donne 2024-06-01 (premier jour du mois suivant) ; - INTERVAL '1 day' recule d'un jour, jusqu'au dernier jour de mai : 2024-05-31.

Cette formule fonctionne quel que soit le nombre de jours du mois (28, 29, 30 ou 31) — elle ne dépend jamais d'une valeur codée en dur.

À retenir :

  • Le dernier jour d'un mois se calcule en ajoutant un mois au premier jour, puis en retirant un jour.
  • Cette formule s'adapte automatiquement à la longueur réelle de chaque mois, y compris février lors d'une année bissextile.
  • Elle repose sur les mêmes briques que la leçon précédente : DATE_TRUNC et l'arithmétique d'intervalles (vue en détail dans quelques leçons).

À vous de jouer : calculez le premier et le dernier jour du mois pour le client d'id 2 (2024-04-02).

🔒

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