我正在使用 SQL Server 2008。我想获取一年中所有季度的开始日期和结束日期。例如,如果我在查询中传递 2013 那么输出应该像
StartDate EndDate QuarterNo
-------------------------------------------------------------
2013-04-01 00:00:00.000 2013-06-30 00:00:00.000 1
2013-07-01 00:00:00.000 2013-09-30 00:00:00.000 2
2013-10-01 00:00:00.000 2013-12-31 00:00:00.000 3
2014-01-01 00:00:00.000 2014-03-31 00:00:00.000 4
由于财政年度从 4 月 1 日开始,我希望第一季度从 4 月 1 日开始。我怎样才能得到这个输出?感谢帮助...
select
dateadd(M, 3*number, CONVERT(date, CONVERT(varchar(5),@year)+'-1-1')),
dateadd(D,-1,dateadd(M, 3*number+3, CONVERT(date, CONVERT(varchar(5),@year)+'-1-1'))),
Number QuarterNo
from master..spt_values
where type='p'
and number between 1 and 4
您可能需要使用日期,而不是日期时间,否则您的季度中不包含该季度最后一天的任何内容(例如:2013-06-30 14:15)
要走另一条路,请使用datepart
select ((DATEPART(q,@date)+2) % 4)+1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)