如何按月在SQL中对字符串进行排序

时间:2014-11-12 03:53:03

标签: sql sql-server sql-server-2008 date

我有一个很大的查询,就是我需要从临时表中返回结果,而且我还有一个大的查询来填充临时表中的数据。

现在的问题是,在最终结果中,我正在做

DATENAME(月,#ClaimsByBenefitCode.CalendarYear)

因此,我估计,它输出为字符串?我按字母顺序排列。如何每月做一次?

例如,它显示10月1日和9月,但我想要9月9日然后10月。但是,要确保它没有任何副作用。

有任何线索吗?

1 个答案:

答案 0 :(得分:4)

据推测,你有一个order by条款是这样的:

order by datename(month, #ClaimsByBenefitCode.CalendarYear)

您可以通过多种方式解决此问题。一个是:

order by datepart(month, #ClaimsByBenefitCode.CalendarYear)

如果这是一个聚合查询,您也可以这样做:

order by min(#ClaimsByBenefitCode.CalendarYear)