在mysql中对月份名称进行排序[关闭]

I stored the month name in database as string which looks like

Apr-2013
May-2013
...

How could i sort the table month wise ?

Any help is appreciated.

You will have to format the date in order to sort it:

select aDate from t
order by str_to_date(aDate,'%b-%Y')

This is very inefficient, though. I'd recommend you to update that field and make it a date field or at least two ints: one for the month and one for the year. Then, if you need to get the name of the month you could use the monthname(date) function.

SELECT
  *
FROM
  dates
ORDER BY
  STR_TO_DATE(date, '%b-%Y')

SQL Fiddle