183

日付形式で注文する方法について少し混乱しています。

フォーマットのYYYY-MM-DD場合、これを行います。...ORDER BY date DESC...

どのように注文しDD/MM/YYYYますか?

これは機能していません:

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

8 に答える 8

232

おそらく出力日をフォーマットしたいだけだと思いますか?その後、これはあなたが求めているものです

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

それとも、実際に前月の前日で並べ替えたいですか?

于 2012-05-17T14:29:18.970 に答える
175

STR_TO_DATE()文字列をMySQLの日付値とORDER BY結果に変換するために使用できます。

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

DATEただし、文字列を使用する代わりに、列をデータ型に変換することをお勧めします。

于 2012-05-17T14:28:23.323 に答える
46
SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date
..........
ORDER BY formatted_date DESC
于 2012-05-17T14:28:36.913 に答える
41

使用する:

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

参照:https ://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

于 2015-01-20T19:49:33.190 に答える
24
SELECT DATE_FORMAT(COLUMN_NAME, "%d/%m/%Y %h:%i %p");

また

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

出力は2019年10月5日午後7時30分です

于 2019-10-11T06:47:50.503 に答える
6

私の場合、これはうまくいきました

str_to_date(date, '%e/%m/%Y' )
于 2014-10-06T09:26:51.097 に答える
6

時間が重要な場合は、を使用str_to_date(date, '%d/%m/%Y %T' )しました。%Tは、の形式で時間を示していますhh:mm:ss

于 2016-09-14T18:54:33.140 に答える
4

ORDER BYの日付タイプは、日付形式に依存しません。日付形式は、データベース内で同じデータであることを示すためだけのものです。

于 2012-05-17T14:27:03.857 に答える