按SQL中的字符串表示的月份排序

时间:2013-06-27 08:23:46

标签: sql sql-server database tsql sql-server-2005

我在SQL中有以下排序问题。

SELECT time, orderValue
FROM orders
ORDER BY time

问题是时间用以下格式的字符串表示:

May 2012

June 2012

...

June 2013

然而,ORDER BY子句按字母顺序对问题进行排序(这并不奇怪,因为它被定义为字符串)。如何根据年和月以正确的顺序对此进行排序?

1 个答案:

答案 0 :(得分:8)

尝试:

SELECT time, orderValue
FROM orders
ORDER BY CONVERT (DATETIME, '01 ' + time, 104)