我有"约会" 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进行排序,而不是完整日期
答案 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
数据类型而不是使用字符串