Transact-SQL-12个月的日期范围从当前月份开始向后

Transact-SQL-12个月的日期范围从当前月份开始向后,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在为一个报告创建一个过滤器,该报告将包括一个13个月的滚动报告周期,每个月直到当前月份 澄清:此筛选器用于在asp.net web报表中填充dropdownlist,显示标签,并将值传递给要处理的存储过程 即: 13个月滚动(价值2013年12月6日至2012年1月5日) 1月(价值2013年1月1日至2013年1月31日) 二月 三月。。。 ... 六月 我有13个月的滚动过滤逻辑: DECLARE @rolling varchar(25) SET @rolling = (SELECT C

我正在为一个报告创建一个过滤器,该报告将包括一个13个月的滚动报告周期,每个月直到当前月份

澄清:此筛选器用于在asp.net web报表中填充dropdownlist,显示标签,并将值传递给要处理的存储过程

即:

13个月滚动(价值2013年12月6日至2012年1月5日)

1月(价值2013年1月1日至2013年1月31日)

二月

三月。。。 ... 六月

我有13个月的滚动过滤逻辑:

DECLARE @rolling varchar(25)
SET @rolling = (SELECT CONVERT(VARCHAR(10), GETDATE(), 101))
SET @rolling += '|'
SET @rolling += CONVERT(VARCHAR(10),(select dateadd(mm, datediff(mm, 0, getdate())-13, 0)), 101)

SELECT DISTINCT
@rolling as [VALUE], '13 Months Rolling' as [LABEL]

但我不知道如何将月份计算到当前月份。谢谢。

您是在尝试使用T-SQL还是asp.net应用程序进行计算?现在我正在尝试使用T-SQL进行计算。但作为最后的手段,我可以在c#codebehind中计算。你有没有寻找任何可能的解决方案?这是我第一次寻找答案。它看起来正是您所需要的:您想要一个方法来获取一个以管道分隔的值,该值逐项列出了前13个月的数据?