sql - SQL中用字符串表示的月份排序

标签 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 子句按字母顺序对问题进行排序(这并不奇怪,因为它被定义为字符串)。如何根据年份和月份以正确的顺序对其进行排序?

最佳答案

尝试:

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

关于sql - SQL中用字符串表示的月份排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17338196/

相关文章:

c# - 各个 UNION 语句中不允许使用的子句

mysql - 如何从 mysqldump 恢复转储文件?

php - SQL - 计算 GROUP 中有多少项目也使用 SUM

sql - 这些选择语句中的哪个是 "better,",为什么?

mysql - SQL 帮助 - 根据值比较表中的值

c# - DISTINCT 关键字不适用于 sql server 中的图像数据类型

c# - 如何将 Nullable DateTime 变量的空值转换为 DbNull.Value

mysql - 我应该为双角色用户维护一两个唯一 ID 吗?

php - 产品网格中的自定义 SQL

mysql - 根据时间跨度查询创建新字段