0

以下のようにパラメーターに日付を設定しましたが、次のビットで迷っています...私が欲しいのは;

@TodayDayOfWeek < 5 (月曜日から木曜日) の場合は、先週の日付 (@Startoflastweek - @endoflastweek から) を実行します。それ以外の場合は、この週の日付範囲を使用します

DECLARE @TodayDayOfWeek INT

DECLARE @EndOfThisWeek datetime

DECLARE @StartOfThisWeek datetime

DECLARE @EndOfPrevWeek DateTime

DECLARE @StartOfPrevWeek DateTime

SET @TodayDayOfWeek = datepart(dw, GetDate())

set @EndOfThisWeek =  DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 4)

set @StartOfThisWeek =  DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 0)

SET @EndOfPrevWeek = DATEADD(dd, -@TodayDayOfWeek, GetDate())

SET @StartOfPrevWeek = DATEADD(dd, -(@TodayDayOfWeek+6), GetDate())
4

1 に答える 1

0

SQL Server を使用していて、これが SProc であると仮定します。

CASE WHEN @TodayDayOfWeek < 5 THEN
BEGIN
  -- YOUR LOGIC
END
ELSE
BEGIN 
  -- ELSE LOGIC
END
于 2014-06-02T16:26:51.350 に答える