Sql 将本周/上周用于自动运行的报告
我已经在参数中设置了日期,如下所示,但我对下一个位感到迷茫。。。我想要的是 如果@TodayDayOfWeek<5,那么现在是星期一到星期四,那么从@Startoflastweek-@endoflastweek运行上周的日期 否则请使用此周日期范围Sql 将本周/上周用于自动运行的报告,sql,date,datetime,daterangepicker,sqlparameter,Sql,Date,Datetime,Daterangepicker,Sqlparameter,我已经在参数中设置了日期,如下所示,但我对下一个位感到迷茫。。。我想要的是 如果@TodayDayOfWeek
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