我有一个存储过程,该存储过程在上一年全年每月运行一次。例如5-1-18至5-1-19。我将创建一个在每个月的第一天将其解雇的工作。我需要我的存储过程能够在调试时恢复到本月的第一天。因此,如果运行时是21号,则我需要从1号开始的存储过程。
When 'Pre12Months' Then DATEADD(year,-1, EoMonth @Date,-1))
即使在每月中旬运行,修复也应从月初开始。
答案 0 :(得分:1)
如果您使用的是SQL 2012或更高版本,我将使用DATEFROMPARTS函数:
DATEFROMPARTS(YEAR(DATEADD(YEAR, -1, GETDATE())), MONTH(GETDATE()), 1)
例如,将为您提供去年同一月的第一天。只需说“先给我”,就无需弄清楚如何获得一个月的第一个月。