使用 SQL Server。我有以下问题:我正在创建一个基于开始/结束日期的 CTE,它为两个日期之间的每周生成一组行,如下所示:
StartDate EndDate
2013-02-25 00:00:00.000 2013-03-03 00:00:00.000
2013-04-01 00:00:00.000 2013-04-07 00:00:00.000
现在我想在另一个 SQL 语句中使用星期行作为列,所以 COLUMN1 | 第 1 周 | 第 2 周 | 第 3 周...
我不确定如何做到这一点。我的 CTE 声明如下。
有任何想法吗?
谢谢!
declare @sDate datetime,
@eDate datetime
select @sDate = '2013-02-25',
@eDate = '2013-04-25';
WITH Weeks_CTE (StartDate, EndDate)
AS
(
select @sDate StartDate, DATEADD(wk,DATEDIFF(wk, 0, @sDate), 6) EndDate
union all
select dateadd(ww, 1, StartDate),
dateadd(ww, 1, EndDate)
from Weeks_CTE
where dateadd(ww, 1, StartDate)<= @eDate
)