提问人:GelS Sy 提问时间:7/22/2019 最后编辑:GelS Sy 更新时间:6/1/2020 访问量:82
我怎样才能完美地对日期进行排序
How can I sort date perfectly
问:
我试图按日期对数据进行排序,但它的排序并不完美。我不知道代码中是否有错误。
以下是我数据库中的一些数据:
March 5, 2016
March 17, 2016
August 9, 2017
April 2, 2016
July 5,2018
January 15, 2019
我使用的查询是:
SELECT * FROM reporting ORDER BY date ASC
结果是:
April 2, 2016
August 9, 2017
January 15, 2019
July 5,2018
March 5, 2016
March 17, 2016
预期成果:
March 5, 2016
March 17, 2016
April 2, 2016
August 9, 2017
July 5,2018
January 15, 2019
答:
3赞
Fahmi
7/22/2019
#1
用于将日期字段从字符串转换为日期时间str_to_date()
SELECT * FROM reporting ORDER BY str_to_date(`date`,'%M %d, %Y') ASC
0赞
PHP Geek
7/22/2019
#2
使用日期格式
ORDER BY DATE_FORMAT(date, "%F-%d-%Y") as date ASC
0赞
DarkRob
7/22/2019
#3
你可以试试这个,
对于 SQL Server:
convert( varchar, [date], 120)
将转换您的日期格式。yyyy-MM-dd
select * from reporting order by convert( varchar, [date], 120) asc
对于 MySQL:
select * from reporting order by DATE_FORMAT(date, "%Y-%m-%e") asc
评论
0赞
Tim Biegeleisen
7/22/2019
OP从未标记过他的数据库,但大多数时候人们会使用MySQL和PHP,而不是SQL Server。
0赞
GelS Sy
7/22/2019
您提供的查询不会对数据进行排序。
0赞
DarkRob
7/22/2019
@GelSSy:立即查看
评论