我正在构建一个 SSRS 报告。
在报告中,一周总是从星期一到星期日。
我想找出前两周的开始和结束日期。
例如,
如果当前日期 = 2011 年 1 月 1 日
-- 本周 = 2010 年 12 月 27 日到 2011 年 1 月 2 日
-- 前一周 = 2010 年 12 月 20 日到 2010 年 12 月 26 日
我尝试了以下方法,但是当当日 = 星期日时,它似乎失败了
DECLARE @DT DATETIME
DECLARE @Offset INT
DECLARE @CM DATETIME
DECLARE @PM DATETIME
DECLARE @PS DATETIME
--SET @DT = GETDATE()
SET @DT = '11/14/2010' -- Monday
SET @Offset = (DATEPART(WEEKDAY, @DT) - 2) * -1
SET @CM = DATEADD(DAY, @Offset, @DT)
SET @PM = DATEADD(DAY, -7, @CM)
SET @PS = DATEADD(DAY, -1, @CM)
SELECT @Offset AS Offset, @DT AS Date, @CM AS Monday, @PM AS [Previous Monday], @PS AS [Previous Sunday], DATEPART(WK, @PM) AS Week
我该如何解决?