Функция GetDate - PullRequest
       37

Функция GetDate

0 голосов
/ 21 мая 2019

У меня есть хранимая процедура, которая выполняется один раз в месяц в течение всего предыдущего года. Так например с 5-1-18 до 5-1-19. Я собираюсь создать работу, которая увольняет ее в начале каждого месяца. Мне нужна моя хранимая процедура, чтобы иметь возможность вернуться к первому числу месяца при отладке. Так что, если он работает 21-го числа, мне нужно, чтобы хранимая процедура начиналась с 1-го.

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

Исправление должно начинаться с начала месяца, даже если оно выполняется в середине месяца.

1 Ответ

1 голос
/ 21 мая 2019

Я бы использовал функцию DATEFROMPARTS, предполагая, что вы SQL 2012 или новее:

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

получит, например, первое в прошлом году того же месяца.Не нужно выяснять, как получить первое число месяца, когда можно просто сказать «дай мне первое».

...