GetDate函数

时间:2019-05-21 15:11:36

标签: sql sql-server function datetime stored-procedures

我有一个存储过程,该存储过程在上一年全年每月运行一次。例如5-1-18至5-1-19。我将创建一个在每个月的第一天将其解雇的工作。我需要我的存储过程能够在调试时恢复到本月的第一天。因此,如果运行时是21号,则我需要从1号开始的存储过程。

When 'Pre12Months' Then DATEADD(year,-1, EoMonth @Date,-1))

即使在每月中旬运行,修复也应从月初开始。

1 个答案:

答案 0 :(得分:1)

如果您使用的是SQL 2012或更高版本,我将使用DATEFROMPARTS函数:

DATEFROMPARTS(YEAR(DATEADD(YEAR, -1, GETDATE())), MONTH(GETDATE()), 1)
例如,

将为您提供去年同一月的第一天。只需说“先给我”,就无需弄清楚如何获得一个月的第一个月。