【发布时间】:2014-09-17 12:48:55
【问题描述】:
我在 mysql 中有“日期”列以这种格式保存日期
17-09-2014 (DD-MM-YYYY)
我需要对它们进行升序排序,所以我使用了这个命令:
SELECT * FROM table ORDER BY date ASC
但我发现了这个结果:
17-09-2014
18-09-2015
19-09-2014
应该是:
17-09-2014
19-09-2014
18-09-2015
它只排序一天而不是完整日期
【问题讨论】:
-
正确的解决方法是将此列的类型从它看起来的 varchar 更改为 proper
DATE/DATETIMEtype,这样排序将自动正常工作。 -
哪个日期类型是您的日期列?
-
这些日期不保存为mysql本机数据类型
date或datetime,因此您可能需要在排序时使用str_to_date函数将其转换为实际日期 -
您的数据类型必须是日期并存储为 YYYY-MM-DD
标签: mysql