日付形式で注文する方法について少し混乱しています。
フォーマットについて YYYY-MM-DD次のようにします。...ORDER BY date DESC...
どのように注文しますか DD/MM/YYYYますか?
これは機能していません:
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
日付形式で注文する方法について少し混乱しています。
フォーマットについて YYYY-MM-DD次のようにします。...ORDER BY date DESC...
どのように注文しますか DD/MM/YYYYますか?
これは機能していません:
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
回答:
STR_TO_DATE()文字列をMySQLの日付値とORDER BY結果に変換するために使用できます。
ORDER BY STR_TO_DATE(datestring, '%d/%m/%Y')
ただし、DATE文字列を使用するのではなく、列をデータ型に変換することをお勧めします。
おそらく出力日付をフォーマットしたいだけでしょうか?その後、これはあなたが求めているものです
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate
FROM table
ORDER BY date DESC
LIMIT 0,14
それとも、実際には前年の前の月でソートしたいですか?
mysql> DESCRIBE Table;出力を貼り付けます
SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date
..........
ORDER BY formatted_date DESC
%lませんか?それは12毎月与え、私はに変更する必要がありました%m。
使用する:
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