Я ищу код T-SQL, который должен выбрать дату, которая «Один год назад с текущей даты (в то же время в прошлое воскресенье месяца)».T-SQL date pickup
У меня есть T-SQL-код, который используется в SQL Server 2014:
select
convert(varchar(10), DATEADD(day, DATEDIFF(day, '19000107', DATEADD(month, DATEDIFF(MONTH, 0, CONVERT(date, CONVERT(VARCHAR(4), (CASE WHEN MONTH(GetDate()) = 1 THEN CONVERT(VARCHAR(4), GetDate(), 112) - 1 ELSE CONVERT(VARCHAR(4), GetDate(), 112) END), 112) + '0101')), 30))/7 * 7, '19000107'), 120)
Приведенный выше код выбирает дату текущего года (последнее воскресенье в январе месяце). Но я хочу, чтобы код T-SQL выбирал дату в прошлом году (дата последнего воскресенья в январе месяце).
Подробнее - Я хочу, чтобы T-SQL код для получения ожидаемого результата из таблицы ниже
Current day Expected result
---------------------------------------
2017-02-05 2016-01-31
2017-01-05 2015-01-25
2018-02-19 2017-01-29
2018-01-19 2016-01-31
2019-02-28 2018-01-28
Пожалуйста, обратите внимание, всегда год начинается с «Последнего воскресенья в январе месяце».
Отлично работает спасибо – user2331670