Sql-Server
僅在一個月的最後 3 天執行儲存過程
如何使用 T-SQL 腳本僅在一個月的最後 3 天執行儲存過程?
添加此腳本將幫助您僅在每月的最後三天執行 SP。
注意:在調度程序中,您可以安排每天執行它。
DECLARE @FromDate DATE DECLARE @ToDate DATE SELECT @FromDate=DATEADD(DD,-2,CAST(DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+1,0)) AS DATE)) --Last Date -2 SELECT @ToDate= CAST(DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+1,0)) AS DATE) --Last Date of current month IF (GETDATE() BETWEEN @FromDate AND @ToDate) BEGIN EXEC SP_YourSPName--------------------------Execute your SP here END
DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+1,0))
使用他的評論中提到的查詢@Chris Rolliston 也可以做到這一點。
DECLARE @Today DATE = GETDATE(); DECLARE @EOM DATE = EOMONTH(@Today); IF (DAY(@EOM) - DAY(@Today) BETWEEN 0 AND 2) EXEC SP_YourSPName;
謝謝!