Maison >base de données >tutoriel mysql >Comment trier correctement les dates au format JJ/MM/AAAA dans MySQL ?

Comment trier correctement les dates au format JJ/MM/AAAA dans MySQL ?

DDD
DDDoriginal
2024-12-08 11:35:15744parcourir

How to Correctly Order Dates in DD/MM/YYYY Format in MySQL?

Comment gérer l'ordre des dates pour un format spécifique dans MySQL ?

Lorsqu'il s'agit d'ordonner des dates dans MySQL, l'approche typique consiste à utilisez le modificateur DESC pour les formats tels que AAAA-MM-JJ. Cependant, une confusion survient lorsqu'il s'agit de différents formats de date, tels que JJ/MM/AAAA.

Dans le cas spécifique de la commande de dates au format JJ/MM/AAAA, la requête fournie ne fonctionne pas comme prévu. La requête tente d'appliquer la fonction DATE_FORMAT directement à l'expression DATE_FORMAT(Date, '%Y%m%d'), ce qui ne correspond pas au résultat souhaité.

Pour résoudre ce problème, vous disposez de deux options principales :

  1. Formatage de la date de sortie uniquement : Si l'objectif est uniquement d'afficher la date au format JJ/MM/AAAA sans altérer la valeur réelle de la date, vous pouvez utiliser la requête suivante :

    SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate 
    FROM table 
    ORDER BY date DESC 
    LIMIT 0,14

    Dans cette requête, la fonction DATE_FORMAT est appliquée à la colonne date avec le '%d/% m/%Y' pendant le processus de récupération des données. Les résultats afficheront les dates dans le format souhaité tout en laissant les valeurs de date sous-jacentes inchangées.

  2. Tri réel par jour, mois et année : Si vous voulez vraiment pour classer les résultats par jour, puis par mois et enfin par année, comme suggéré par JJ/MM/AAAA, vous devrez utiliser une fonction de comparaison personnalisée. Cette fonction extraira les composants individuels de la date et effectuera une comparaison lexicographique. Voici un exemple de requête qui implémente cette approche :

    SELECT * FROM table
    ORDER BY FORMAT_DAYOFMONTH(Date), FORMAT_MONTH(Date), FORMAT_YEAR(Date) DESC
    LIMIT 14

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn