date-wise排序

owfi6suc  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(279)

例子:

sh_date
30.11.2017
01.01.2018
31.12.2017

我想要这样:

sh_date
30.11.2017
31.12.2017
01.01.2018
nle07wnf

nle07wnf1#

因为日期是varchar
你可以在mysql中试试下面的一个

SELECT sh_date
FROM table_name
ORDER BY STR_TO_DATE(REPLACE(sh_date ,'.',',') ,'%d,%m,%Y') ASC

排序前需要将字符串转换为日期

For eg:30.11.2017 it will convert to date
SELECT STR_TO_DATE(REPLACE('30.11.2017' ,'.',',') ,'%d,%m,%Y')

Output
2017-11-30

如果缺什么请加上

x7rlezfr

x7rlezfr2#

您必须将其转换为日期时间,然后才能订购:

select sh_date
from table_name
order by convert(datetime, sh_date, 103) ASC

进一步研究:请按日期(varchar)转到此线程订单?

jk9hmnmh

jk9hmnmh3#

试试这个

select sh_date from table_name order by sh_date ASC

shu date是char或varchar而不是date,否则您的order by子句就可以了。

SELECT sh_date  
FROM 
     table_name
ORDER BY 
   CONVERT(sh_date , EventDate,101)  ASC

相关问题