Code SQL copié dans le presse-papiers
Cette leçon sur les fonctions de date et d’heure en SQL présente les outils essentiels pour manipuler des données temporelles. Vous apprendrez à extraire, formater et calculer des intervalles avec des fonctions comme CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DATE, EXTRACT, DATE_ADD, DATE_SUB et AGE. Maîtriser ces fonctions vous permettra d’analyser efficacement des données chronologiques dans vos projets SQL.
RU EN PT

Leçon 3.4 : Fonctions essentielles de date et d’heure en SQL

Les fonctions de date et d’heure en SQL permettent d’extraire, de modifier et de formater des valeurs temporelles. Elles sont largement utilisées pour analyser des données chronologiques, filtrer par date, calculer des intervalles et formater les résultats. Cette leçon présente les fonctions les plus courantes avec des exemples basés sur la base Sakila.

Fonctions de date et d’heure courantes

CURRENT_DATE — Retourne la date du jour (sans l’heure).

Syntaxe :

CURRENT_DATE

Exemple :

SELECT CURRENT_DATE AS aujourd_hui;

Résultat : La date du jour, par exemple : 2025-06-03

CURRENT_TIME — Retourne l’heure actuelle (sans la date).

Syntaxe :

CURRENT_TIME

Exemple :

SELECT CURRENT_TIME AS heure_actuelle;

Résultat : L’heure actuelle, par exemple : 14:25:30

CURRENT_TIMESTAMP / NOW() — Retourne la date et l’heure actuelles.

Syntaxe :

CURRENT_TIMESTAMP
NOW()

Exemple :

SELECT CURRENT_TIMESTAMP AS date_heure_actuelle;
SELECT NOW() AS date_heure_actuelle;

Résultat : La date et l’heure actuelles, par exemple : 2025-06-03 14:25:30

DATE() — Extrait uniquement la date d’une valeur datetime.

Syntaxe :

DATE(datetime)

Exemple :

SELECT DATE(payment_date) AS date_paiement
FROM payment
LIMIT 3;

Résultat : Retourne uniquement la partie date de payment_date.

EXTRACT() — Extrait une partie spécifique d’une date ou d’une heure.

Syntaxe :

EXTRACT(partie FROM date)

Exemple :

SELECT EXTRACT(YEAR FROM payment_date) AS année,
       EXTRACT(MONTH FROM payment_date) AS mois
FROM payment
LIMIT 3;

Résultat : Retourne l’année et le mois de chaque paiement.

DATE_ADD() / DATE_SUB() — Ajoute ou soustrait un intervalle à une date (MySQL).

Syntaxe :

DATE_ADD(date, INTERVAL n unité)
DATE_SUB(date, INTERVAL n unité)

Exemple :

SELECT DATE_ADD(payment_date, INTERVAL 7 DAY) AS date_plus_7j
FROM payment
LIMIT 3;

Résultat : Retourne la date de paiement augmentée de 7 jours.

AGE() — Calcule la différence entre deux dates (PostgreSQL).

Syntaxe :

AGE(date1, date2)

Exemple :

SELECT AGE(NOW(), payment_date) AS temps_depuis_paiement
FROM payment
LIMIT 3;

Résultat : Retourne le temps écoulé depuis chaque paiement.

Utilisation pratique

  1. Filtrer par date : Utilisez WHERE payment_date = CURRENT_DATE pour trouver les paiements du jour.

  2. Extraire des parties de date : Utilisez EXTRACT(MONTH FROM payment_date) pour analyser les paiements par mois.

  3. Calculer des intervalles : Utilisez AGE() ou DATE_ADD() pour calculer des durées ou ajouter des jours à une date.

Points clés de cette leçon

Les fonctions de date et d’heure SQL sont essentielles pour manipuler et analyser des données temporelles. Maîtrisez ces fonctions pour filtrer, formater et calculer des intervalles dans vos requêtes. Pratiquez avec des exemples de la base Sakila pour renforcer vos compétences.