1. Avant d’apprendre le formatage des dates dans MySQL : Concepts de base
Gestion des données de date dans une base de données joue un rôle crucial dans tout système. Dans MySQL, le stockage précis des données et le formatage approprié sont essentiels. Ici, nous présentons les concepts fondamentaux des formats de stockage de dates et des formats d’affichage, et expliquons la fonction DATE_FORMAT, qui est utile pour formater les données.
1.1 Types de dates MySQL et leurs caractéristiques
MySQL propose plusieurs types de données pour gérer les dates et les heures. En comprenant l’objectif de chaque type, vous pouvez choisir le plus approprié et optimiser les performances de la base de données.
- DATE Type Stocke les dates au format « YYYY-MM-DD ». Il convient aux données de date simples qui ne nécessitent pas d’information temporelle (par ex. les anniversaires ou les dates d’événements). Exemple :
2024-10-19 - DATETIME Type Stocke à la fois la date et l’heure. Le format est « YYYY-MM-DD HH:MM:SS » et il est utile pour gérer les journaux et les enregistrements incluant des informations temporelles. Exemple :
2024-10-19 15:30:45 - TIMESTAMP Type Stocké sous forme de timestamp UNIX (nombre de secondes depuis le 1er janvier 1970). Il est souvent utilisé dans les systèmes couvrant plusieurs fuseaux horaires. Vous pouvez utiliser
CURRENT_TIMESTAMPpour récupérer le timestamp actuel.
Choisir le type de date approprié en fonction des exigences de votre application est important. Cela améliore à la fois la précision des données et l’efficacité des requêtes.
1.2 Différence entre le stockage et l’affichage des dates
Lors du stockage des dates dans MySQL, la base de données les enregistre dans un format standard. Cependant, il est souvent nécessaire de les afficher dans un format convivial. C’est là que la fonction DATE_FORMAT est utilisée. Avec cette fonction, vous pouvez sortir les données stockées dans un format personnalisé.
2. Utilisation de base de la fonction DATE_FORMAT
La fonction DATE_FORMAT est utilisée pour formater les dates stockées selon un format spécifié. En utilisant des spécificateurs de format flexibles, vous pouvez personnaliser divers styles d’affichage.
2.1 Syntaxe de la fonction DATE_FORMAT
DATE_FORMAT(date, format)
date: La valeur de date à formater (DATE, DATETIME, TIMESTAMP, etc.).format: Une chaîne spécifiant le format de sortie. Utilise des spécificateurs de format préfixés par%.
Par exemple, la requête suivante convertit une date au format « YYYY/MM/DD » :
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
Résultat :
2024/10/19
2.2 Détails des spécificateurs de format
La fonction DATE_FORMAT permet une personnalisation flexible de la date et de l’heure à l’aide de divers spécificateurs de format. Voici quelques spécificateurs couramment utilisés :
%Y: Année sur 4 chiffres (ex. 2024)%m: Mois sur 2 chiffres (01–12)%d: Jour sur 2 chiffres (01–31)%W: Nom du jour de la semaine (ex. samedi)%H: Heure au format 24h (00–23)%i: Minutes (00–59)%s: Secondes (00–59)
Par exemple, la requête suivante affiche le jour de la semaine ainsi que l’année, le mois et le jour :
SELECT DATE_FORMAT('2024-10-19', '%W, %Y-%m-%d');
Résultat :
Saturday, 2024-10-19
2.3 Sortie de date personnalisée en texte
Vous pouvez également utiliser DATE_FORMAT pour produire des formats de date basés sur du texte. La requête suivante affiche la date sous une forme longue telle que « 19 octobre 2024 ».
SELECT DATE_FORMAT('2024-10-19', '%M %d, %Y');
Résultat :
October 19, 2024
Ce format est couramment utilisé dans les rapports, factures et documents officiels dans les environnements anglophones.
3. Techniques avancées avec DATE_FORMAT
La fonction DATE_FORMAT devient encore plus puissante lorsqu’elle est combinée avec d’autres fonctions MySQL. Ici, nous présentons des techniques utiles pour la manipulation des dates.
3.1 Combinaison avec d’autres fonctions de date
La fonction DATE_FORMAT peut être combinée avec des fonctions telles que DATE_ADD et DATE_SUB pour effectuer des opérations de date dynamiques.
Exemple : Ajouter un mois à une date et la formater
SELECT DATE_FORMAT(DATE_ADD('2024-10-19', INTERVAL 1 MONTH), '%Y-%m-%d');
Résultat :
2024-11-19
Cela vous permet d’effectuer des calculs de dates et de formater les résultats, ce qui est utile pour générer des rapports dynamiques et traiter les mises à jour de données.
3.2 Utilisation conjointe de STR_TO_DATE
La fonction STR_TO_DATE convertit une chaîne en type date. Lorsqu’elle est combinée avec DATE_FORMAT, vous pouvez gérer avec précision les données de chaîne en tant que valeurs de date.
Exemple : Convertir une chaîne en date et appliquer le formatage
SELECT DATE_FORMAT(STR_TO_DATE('October 19, 2024', '%M %d, %Y'), '%Y/%m/%d');
Résultat :
2024/10/19
Vous pouvez convertir des données de chaîne complexes en type date, puis appliquer le format approprié par la suite. 
4. Exemples de formats de date courants
Voici plusieurs formats de date couramment utilisés dans les environnements professionnels et systèmes. Ces exemples sont pratiques pour des applications réelles.
4.1 Date séparée par des barres obliques
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
Résultat :
2024/10/19
Le format séparé par des barres obliques est largement utilisé dans les formulaires web et les interfaces utilisateur.
4.2 Format ISO 8601
SELECT DATE_FORMAT('2024-10-19', '%Y-%m-%d');
Résultat :
2024-10-19
ISO 8601 est une norme internationale et convient aux échanges de données entre systèmes.
4.3 Affichage du jour de la semaine et du nom du mois
SELECT DATE_FORMAT('2024-10-19', '%M %W');
Résultat :
October Saturday
Ce format convient aux plannings d’événements et aux affichages de calendrier.
5. Résumé
La fonction DATE_FORMAT est un outil puissant pour gérer de manière flexible le formatage des dates dans MySQL. Des formats de base aux utilisations avancées combinées avec d’autres fonctions, elle peut être appliquée dans de nombreux scénarios différents.
En l’intégrant avec des fonctions telles que STR_TO_DATE et DATE_ADD, vous pouvez obtenir un traitement des données encore plus flexible. Utilisez les techniques présentées dans cet article pour manipuler efficacement les données de date et optimiser la gestion des données dans vos systèmes et applications.
Continuez à exploiter les fonctionnalités de MySQL pour améliorer l’efficacité des opérations de base de données et développer des systèmes plus sophistiqués.


