我正在構建一個SSRS報告。在SQL Server中播放日期時間
在報告中,本週總是從週一到週日。
我想了解前兩週的START和END日期。
例如,
如果當前日期= 2011年1月1日
- 當前星期= 2010年12月27日到2011年1月2日
- 前一週=二零一零年十二月二十零日到12月26日, 2010
我曾嘗試以下,但看起來它時,當電流天=週日
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
我怎樣才能解決這個問題不成?
有點不相關:SQL Server 2008 R2現在有一個`DATE`類型,所以你不需要爲時間分配空間。 – Matthew 2011-01-10 23:18:29