1. Introduction
Dans les bases de données MySQL, la gestion des données de date et d’heure est une tâche courante. Bien que les dates soient généralement stockées dans un format standard, il est souvent nécessaire de les présenter aux utilisateurs dans un format plus lisible ou personnalisé. C’est là que la fonction DATE_FORMAT devient utile. Dans cet article, nous expliquerons comment utiliser la fonction DATE_FORMAT, introduirons ses diverses options de formatage et fournirons des exemples pratiques pour montrer comment vous pouvez l’exploiter efficacement.
2. Aperçu de la fonction DATE_FORMAT
2.1 Qu’est-ce que la fonction DATE_FORMAT ?
La fonction DATE_FORMAT dans MySQL est utilisée pour convertir les données de date dans un format spécifié. Au lieu d’afficher le format par défaut YYYY-MM-DD ou le format horodatage, vous pouvez utiliser cette fonction pour afficher les dates dans n’importe quel style que vous préférez. Par exemple, si vous voulez afficher une date comme « 16 septembre 2024 » aux utilisateurs, cette fonction est la voie à suivre.
2.2 Syntaxe de base
La syntaxe de base pour la fonction DATE_FORMAT est la suivante :
DATE_FORMAT(date, format)
date: La valeur de date que vous souhaitez formater.format: Une chaîne qui spécifie le format de date de sortie.
Regardons un exemple simple :
SELECT DATE_FORMAT('2024-09-16', '%Y年%m月%d日') AS formatted_date;
Cette requête convertit la date ‘2024-09-16’ au format « 2024年09月16日 ».

3. Paramètres de format de date
3.1 Liste des spécificateurs de format
Il existe de nombreux spécificateurs de format disponibles pour la fonction DATE_FORMAT. Voici quelques-uns des plus couramment utilisés :
%Y: Année à quatre chiffres (p. ex., 2024)%y: Année à deux chiffres (p. ex., 24)%m: Mois à deux chiffres (01 à 12)%c: Mois (1 à 12)%d: Jour du mois à deux chiffres (01 à 31)%e: Jour du mois (1 à 31)%H: Heure au format 24 heures (00 à 23)%hou%I: Heure au format 12 heures (01 à 12)%i: Minutes (00 à 59)%s: Secondes (00 à 59)%p: AM ou PM
3.2 Exemples pratiques
Voyons comment ces spécificateurs affectent réellement la sortie.
SELECT
DATE_FORMAT('2024-09-16 14:35:59', '%Y-%m-%d %H:%i:%s') AS full_format,
DATE_FORMAT('2024-09-16 14:35:59', '%Y年%m月%d日') AS japanese_format,
DATE_FORMAT('2024-09-16 14:35:59', '%d/%m/%Y') AS european_format,
DATE_FORMAT('2024-09-16 14:35:59', '%h:%i %p') AS twelve_hour_format;
Cette requête produit la sortie suivante :
full_format: 2024-09-16 14:35:59japanese_format: 2024年09月16日european_format: 16/09/2024twelve_hour_format: 02:35 PM
4. Exemples d’utilisation pratique
4.1 Scénario 1 : Génération de rapports
Par exemple, lors de la création de rapports mensuels pour une entreprise, vous pourriez vouloir afficher les dates au format « YYYY年MM月 ». La requête suivante démontre comment formater les dates de rapport en conséquence :
SELECT
DATE_FORMAT(sale_date, '%Y年%m月') AS report_month,
SUM(sales) AS total_sales
FROM sales_data
GROUP BY report_month;
Cette requête affiche les totaux des ventes mensuelles dans un format comme « 2024年09月 ».
4.2 Scénario 2 : Interfaces utilisateur
La fonction DATE_FORMAT est également utile pour afficher les dates de manière conviviale dans les applications web. Par exemple, pour afficher la date de dernière connexion sur une page de profil utilisateur :
SELECT
user_name,
DATE_FORMAT(last_login, '%Y/%m/%d %H:%i') AS last_login_formatted
FROM users;
Ceci affichera la date et l’heure de dernière connexion de l’utilisateur comme « 2024/09/16 14:35 ».
4.3 Scénario 3 : Optimisation des requêtes
DATE_FORMAT peut également aider à l’optimisation des requêtes de base de données. Par exemple, pour extraire les enregistrements d’un mois spécifique, vous pouvez utiliser une date formatée dans la clause WHERE :
SELECT
*
FROM transactions
WHERE DATE_FORMAT(transaction_date, '%Y-%m') = '2024-09';
Cette requête extrait toutes les transactions de septembre 2024.
5. Points à noter et meilleures pratiques avec DATE_FORMAT
5.1 Considérations de performance
Une utilisation fréquente de DATE_FORMAT peut affecter les performances, surtout sur de grands ensembles de données. Si vous l’utilisez de manière répétée, le temps de traitement peut augmenter. En fonction de vos besoins, envisagez d’enregistrer les dates formatées à l’avance ou de gérer le formatage des dates au niveau de l’application.
5.2 Localisation
Si vous construisez un système multilingue avec DATE_FORMAT, faites attention à la localisation. Étant donné que les formats de date varient selon le pays ou la région, vous devez ajuster dynamiquement les formats en fonction de la locale de l’utilisateur.
5.3 Formatage cohérent
Utiliser un format de date cohérent dans tout votre système est essentiel pour une meilleure expérience utilisateur. Par exemple, utilisez le même format pour les formulaires de saisie, les zones d’affichage et les rapports afin d’éviter de confondre vos utilisateurs.
6. Conclusion
La fonction DATE_FORMAT est un outil puissant pour un formatage flexible des dates dans MySQL. Nous avons couvert les bases, l’utilisation pratique, ainsi que les conseils et bonnes pratiques importants. En maîtrisant cette fonction, vous pouvez afficher les dates de manière lisible et conviviale. Comme prochaine étape, nous vous recommandons d’explorer des manipulations de date et d’heure plus avancées.
7. Références & Lectures complémentaires
- Documentation officielle MySQL : DATE_FORMAT
- Pour d’autres articles et tutoriels connexes, continuez à consulter la documentation officielle et les blogs d’experts, car de nouvelles informations sont régulièrement mises à jour.
Nous espérons que cet article vous aide à comprendre et à utiliser efficacement la fonction DATE_FORMAT.


