在 Node.js 模块库中有很多好用的模块。接下来我们为大家介绍几种常用模块的使用: 序号 模块名 & 描述 1 OS…
August 31, 2017
MySQL日期格式转换DD/MM/YYYY选择查询?(like php strtotime)
问题描述
我有点困惑如何按日期格式排序。
对于格式为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
还是你实际上想按年前的前几天排序?
第三种解决方案
SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date .......... ORDER BY formatted_date DESC
第四种方案
使用:
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
第五种方案
ORDER BY日期类型不依赖于日期格式,日期格式仅用于显示,在数据库中它们是相同的数据。
参考文献
本文:MySQL日期格式转换DD/MM/YYYY选择查询?(like php strtotime)