使用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
)
答案 0 :(得分:1)