Les fonctions de manipulation de Dates
Fonctions Courantes de Date et Heure
Extraction de Composants de Date/Heure
- YEAR(date) : Renvoie l'année.
- MONTH(date) : Renvoie le mois.
- DAY(date) : Renvoie le jour du mois.
- WEEK(date) : Renvoie le numéro de la semaine.
- DAYOFWEEK(date) : Renvoie le jour de la semaine.
- HOUR(datetime) : Renvoie l'heure.
- MINUTE(datetime) : Renvoie les minutes.
- SECOND(datetime) : Renvoie les secondes.
Fonctions de Manipulation de Date/Heure
- DATE_ADD(date, INTERVAL expr unit) : Ajoute un intervalle à une date.
- DATE_SUB(date, INTERVAL expr unit) : Soustrait un intervalle d'une date.
- DATEDIFF(date1, date2) : Calcule la différence entre deux dates.
- TIMEDIFF(time1, time2) : Calcule la différence entre deux moments.
- DATE_FORMAT(date, format) : Formate une date selon le format spécifié.
Fonctions de Création de Date/Heure
- NOW() : Renvoie la date et l'heure actuelles.
- CURDATE() : Renvoie la date actuelle.
- CURTIME() : Renvoie l'heure actuelle.
- MAKEDATE(year, dayofyear) : Crée une date à partir de l'année et du jour de l'année.
- MAKETIME(hour, minute, second) : Crée un moment à partir des heures, minutes et secondes.
Fonctions de Conversion
- UNIX_TIMESTAMP(datetime) : Convertit une date/heure en timestamp UNIX.
- FROM_UNIXTIME(timestamp) : Convertit un timestamp UNIX en date/heure.
Exemples d'Utilisation
Obtenir la Date et l'Heure Actuelles
SELECT NOW();
Cette requête renvoie la date et l'heure actuelles selon le fuseau horaire du serveur de base de données.
Extraire l'Année, le Mois et le Jour
SELECT EXTRACT(YEAR FROM '2023-04-12'),
EXTRACT(MONTH FROM '2023-04-12'),
EXTRACT(DAY FROM '2023-04-12');
Cette requête extrait l'année, le mois et le jour de la date fournie.
Calculer la Différence entre Deux Dates
SELECT DATEDIFF('2023-12-31', '2023-01-01') AS Diff_Jours;
Calcule le nombre de jours entre deux dates. Ici, elle calcule le nombre de jours entre le 1er janvier 2023 et le 31 décembre 2023.
Ajouter et Soustraire des Dates
SELECT DATE_ADD('2023-01-01', INTERVAL 1 MONTH) AS Date_Plus_Un_Mois,
DATE_SUB('2023-01-01', INTERVAL 15 DAY) AS Date_Moins_Quinze_Jours;
Ajoute un mois à la date spécifiée et soustrait 15 jours d'une autre date.
Formater une Date
SELECT TO_CHAR(CURRENT_DATE, 'YYYY-MM-DD') AS Date_Formatee;
Formate la date actuelle en un format spécifique. Ici, la date est formatée en AAAA-MM-JJ.
Obtenir la Première et la Dernière Journée du Mois
SELECT DATE_TRUNC('month', CURDATE ) AS Premier_Jour,
(DATE_TRUNC('month', CURRENT_DATE) + INTERVAL '1 MONTH' - INTERVAL '1 DAY') AS Dernier_Jour;
Calcule le premier et le dernier jour du mois courant.
Convertir une Chaîne en Date
SELECT TO_DATE('2023-04-12', 'YYYY-MM-DD') AS Date_Convertie;
Convertit une chaîne de caractères en date, en utilisant le format spécifié.
Extraire l'Heure, les Minutes et les Secondes
SELECT EXTRACT(HOUR FROM NOW()) AS Heure,
EXTRACT(MINUTE FROM NOW()) AS Minute,
EXTRACT(SECOND FROM NOW()) AS Seconde;
Extrait l'heure, les minutes et les secondes de la date actuel.