如何按此订购(在日期列中) - 不太好 - 日期格式。
7 Dec 2013 - 5 Feb 2014
31 Oct 2013 - 29 Dec 2013
3 Dec 2013 - 31 Jan 2014
3 Dec 2013 - 31 Jan 2014
我只需按第一个日期排序,即
7 Dec 2013
31 Oct 2013
3 Dec 2013
3 Dec 2013
我已经检查了STR_TO_DATE,但如果我没错,我需要有一个字符串放入此,我没有。每个日期都在数据库列日期。
答案 0 :(得分:0)
试试这个:
SELECT * FROM tab1
ORDER BY str_to_date(left(col1,INSTR(col1,' -')), '%d %M %Y')
这将获取' -'
左侧的字符串,然后将其转换为日期年份的日期格式,并将其排序为日期。
P.S。我同意之前的评论,如果你为每个时期的start_date和end_date使用两列,这很容易避免。它也会更快。