Sql 将本周/上周用于自动运行的报告

Sql 将本周/上周用于自动运行的报告,sql,date,datetime,daterangepicker,sqlparameter,Sql,Date,Datetime,Daterangepicker,Sqlparameter,我已经在参数中设置了日期,如下所示,但我对下一个位感到迷茫。。。我想要的是 如果@TodayDayOfWeek

我已经在参数中设置了日期,如下所示,但我对下一个位感到迷茫。。。我想要的是

如果@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())

假设您使用的是SQL Server,这是存储过程

CASE WHEN @TodayDayOfWeek < 5 THEN
BEGIN
  -- YOUR LOGIC
END
ELSE
BEGIN 
  -- ELSE LOGIC
END