Interrogation des dates MySQL au format JJ/MM/AAAA
Dans MySQL, le classement des dates est généralement basé sur le format AAAA-MM-JJ , comme décrit dans l'exemple donné. Cependant, certains scénarios peuvent nécessiter de trier les dates dans un format différent, tel que JJ/MM/AAAA. Cet article explique comment modifier votre requête pour obtenir cet ordre de date alternatif.
Approche incorrecte :
Le code fourni tente d'utiliser DATE_FORMAT pour convertir la date en valeur numérique. string :
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
Cependant, cette approche est incorrecte car elle trie simplement les chaînes numériques, pas les chaînes réelles. dates.
Approche correcte :
Pour trier correctement les dates au format JJ/MM/AAAA, vous avez deux options :
1 . Formater la sortie :
Si vous souhaitez uniquement que la sortie soit formatée en JJ/MM/AAAA sans modifier l'ordre de tri réel, utilisez la requête suivante :
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate FROM table ORDER BY date DESC LIMIT 0,14
Dans ce Dans ce cas, les valeurs de date restent dans leur format d'origine, mais une nouvelle colonne, niceDate, est ajoutée qui affiche les dates en JJ/MM/AAAA. format.
2. Trier par composants de date :
Si vous avez réellement besoin de trier les dates par jour, puis par mois, puis par année, utilisez une requête plus complexe :
SELECT * FROM table ORDER BY DAY(date) DESC, MONTH(date) DESC, YEAR(date) DESC LIMIT 0,14
Ceci La requête extrait les composants de date individuels (jour, mois et année) et les trie par ordre décroissant en fonction des règles spécifiées.
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!