排序 - 按日期排序ASC

时间:2014-09-17 12:48:56

标签: mysql

我有"约会" 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

它只对ASC进行排序,而不是完整日期

2 个答案:

答案 0 :(得分:5)

试试这个:

SELECT * FROM table ORDER BY STR_TO_DATE(date,'%d-%m-%Y') ASC

答案 1 :(得分:3)

您可以使用STR_TO_DATE()将字符串转换为MySQL日期值并按结果进行ORDER BY:

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

但是,最好将列转换为DATE数据类型而不是使用字符串