我对如何按日期格式订购感到困惑.
对于格式,YYYY-MM-DD您将执行此操作:...ORDER BY date DESC...
你会如何订购DD/MM/YYYY?
这不起作用:
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
Run Code Online (Sandbox Code Playgroud)
tra*_*per 166
猜猜你可能只想格式化输出日期?那么这就是你所追求的
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate
FROM table
ORDER BY date DESC
LIMIT 0,14
Run Code Online (Sandbox Code Playgroud)
或者你真的想在年前一个月前排序吗?
egg*_*yal 136
您可以使用STR_TO_DATE()将字符串转换为MySQL日期值和ORDER BY结果:
ORDER BY STR_TO_DATE(datestring, '%d/%m/%Y')
Run Code Online (Sandbox Code Playgroud)
但是,将列转换为DATE数据类型而不是使用字符串是明智的.
Joh*_*nde 37
SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date
..........
ORDER BY formatted_date DESC
Run Code Online (Sandbox Code Playgroud)
Elt*_*sta 33
使用:
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y") AS 'NAME'
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y %H:%i:%s") AS 'NAME'
Run Code Online (Sandbox Code Playgroud)
参考:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
Man*_*ani 20
SELECT DATE_FORMAT(COLUMN_NAME, "%d/%m/%Y %h:%i %p");
Run Code Online (Sandbox Code Playgroud)
或者
SELECT DATE_FORMAT("2019-05-10 19:30:10", "%d/%m/%Y %h:%i %p");
Run Code Online (Sandbox Code Playgroud)
输出是10/05/2019 07:30 PM
这张图片会对你有所帮助。
SELECT DATE_FORMAT("2019-05-10 19:30:10", "%d/%m/%Y %h:%i %p");
Run Code Online (Sandbox Code Playgroud)