示例:
sh_date
30.11.2017
01.01.2018
31.12.2017
我想这样:
sh_date
30.11.2017
31.12.2017
01.01.2018
答案 0 :(得分:0)
尝试这个
select sh_date from table_name order by sh_date ASC
sh_date是char或varchar而不是日期,否则你的order by子句会没问题。
SELECT sh_date
FROM
table_name
ORDER BY
CONVERT(sh_date , EventDate,101) ASC
答案 1 :(得分:0)
您必须将其转换为日期时间,然后您可以订购:
select sh_date
from table_name
order by convert(datetime, sh_date, 103) ASC
进一步研究:请转到此主题Order by date (varchar)?
答案 2 :(得分:0)
由于日期是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
如果遗漏任何内容,请添加