我需要一种方法,按照以下逻辑每月运行两次SQL命令:
在本月的第二个星期二之后的星期四运行
和
在本月第4个星期二之后的星期四运行
这可能吗?
每天运行这个将完成的任务
IF (
SELECT
DATEADD(
Month,
DATEDIFF(
Month,
0,
GETDATE()
),
0
) + 6 + 7 - (
DATEPART(
Weekday,
DATEADD(
Month,
DATEDIFF(
Month,
0,
GETDATE()
),
0
)
) + (@@DateFirst + 3) + 7
) % 7 + 2
) -- Thursday after SECOND tuesday IN the this month
= GETDATE()
OR (
SELECT
DATEADD(
Month,
DATEDIFF(
Month,
0,
GETDATE()
),
0
) + 6 + 21 - (
DATEPART(
Weekday,
DATEADD(
Month,
DATEDIFF(
Month,
0,
GETDATE()
),
0
)
) + (@@DateFirst + 3) + 21
) % 7 + 2
) = GETDATE() -- Thursday after FOURTH tuesday IN the this month