提问人:bmt8895 提问时间:4/25/2023 最后编辑:GMBbmt8895 更新时间:4/25/2023 访问量:37
如果是季度的第一天,则执行插入语句,如果不是,则无
If it's the first day of the quarter execute insert statement, if not, nothing
问:
我正在尝试编写代码以永久执行插入语句。我想在每个季度的第一天执行插入语句。该语句将每天运行。它应该问,今天是本季度的第一天吗?如果没有,则不会发生任何事情。如果是,则将运行 insert 语句。
我已经使用过这个功能,但似乎什么也做不了。QUARTER()
答:
2赞
GMB
4/25/2023
#1
免责声明:正如@Thom A 所评论的那样,计划任务在每个季度的第一天运行,而不是每天执行,然后忽略非季度开始,可能会更简单。
至于你的问题:你可以使用日期函数来检查今天是否是一个季度的第一天,例如,有一个谓词,如:
day(getdate()) = 1 -- first day of the month...
and month(getdate()) in (1, 4, 7, 10) -- in month 1 (january), 4 (april), 7 (july), 10 (october)
我们也可以这样表述:
day(getdate()) = 1
and month(getdate()) % 3 = 1
您可以将谓词放在查询中,例如:insert
insert into mytable (col1, col2, col3)
select v.*
from ( values ('val1', 'val2', 'val3') )
where day(getdate()) = 1 and month(getdate()) % 3 = 1
评论