Mysql 我怎样才能完美地分类日期
我试图按日期对数据进行排序,但排序并不完美。我不知道代码中是否有错误 以下是我的数据库中的一些字符数据:Mysql 我怎样才能完美地分类日期,mysql,Mysql,我试图按日期对数据进行排序,但排序并不完美。我不知道代码中是否有错误 以下是我的数据库中的一些字符数据: 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
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
使用str\u to\u date()
将日期字段从字符串转换为日期时间
SELECT * FROM reporting ORDER BY str_to_date(`date`,'%M %d, %Y') ASC
使用日期格式
ORDER BY DATE_FORMAT(date, "%F-%d-%Y") as date ASC
你可以试试这个
对于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
不要将日期存储为文本。取而代之的是,使用下面的答案之一,并将列改为真实的日期。我要记下蒂姆。@GelSSy。用您正在使用的数据库标记您的问题。OP从未用他的数据库标记,但大多数情况下,人们将使用MySQL和PHP,而不是SQL Server。您给出的查询不会对数据进行排序。@GelSSy:现在检查