199 votes

MySQL date format DD/MM/YYYY select query ?

Je suis un peu perdue sur la façon de classer les formats de date.

Pour le format YYYY-MM-DD vous feriez cela : ...ORDER BY date DESC...

Comment commander par DD/MM/YYYY ?

Cela ne fonctionne pas :

SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14

248voto

trapper Points 3714

Je suppose que vous souhaitez simplement formater la date de sortie, alors c'est ce que vous recherchez.

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

Ou voulez-vous en fait trier par Jour avant Mois avant Année ?

1 votes

Je voudrais les 14 dernières dates/enregistrements :) Le format de la base de données est pourtant "DD/MM/YYYY" !

0 votes

La date dans la base de données est-elle un type de date réel ou un type de chaîne ?

2 votes

mysql> DESCRIBE Table; et coller le résultat

182voto

eggyal Points 60363

Vous pouvez utiliser STR_TO_DATE() pour convertir vos chaînes de caractères en valeurs de date MySQL et ORDER BY le résultat :

ORDER BY STR_TO_DATE(datestring, '%d/%m/%Y')

Toutefois, il serait judicieux de convertir la colonne au format DATE au lieu d'utiliser des chaînes de caractères.

47voto

John Conde Points 102874
SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date
..........
ORDER BY formatted_date DESC

3 votes

Est-ce que c'est moi, ou est-ce que le %l ne fonctionne pas ? Il donne 12 pour chaque mois et j'ai dû passer à %m .

1 votes

%l est pour les heures dev.mysql.com/doc/refman/5.5/fr/ @beroe

43voto

Elton da Costa Points 57

Utiliser :

SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y") AS 'NAME'
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y %H:%i:%s") AS 'NAME'

Référence : https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

27voto

Mani Points 810
SELECT DATE_FORMAT(COLUMN_NAME, "%d/%m/%Y %h:%i %p");

OU

SELECT DATE_FORMAT("2019-05-10 19:30:10", "%d/%m/%Y %h:%i %p");

OUTPUT est 10/05/2019 07:30 PM

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X