Как бы я тогда получить эквивалент прошлогоднего для обоего:Прошлогодних на дату по дням недели
Предыдущих недель даты понедельников в прошлом году Предыдущих недель дату воскресенья в прошлом году
на основе значение я получил для:
--start прошлой недели в этом году
SELECT DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 0)
--end прошлой недели в этом году
SELECT DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)
Итак, основываясь на текущей дате (06/01/2016) я получаю в этом году:
Предыдущая дата понедельники в этом году = 28/12/2015
Предыдущая воскресенье дата в этом году = 03/01/2016
Я хотел бы достичь:
Предыдущая дата понедельники в прошлом году = дата 29/12/2014
Предыдущие воскресенье в прошлом году = 04/01/2015
Где синтаксис будет заботиться года выпуска високосный каждые 4 года.
Благодаря
Sql-Server-2008 – beatrice1711
Можете ли вы дать несколько примеров, с особым вниманием к границам например ваш первый код, для меня, кажется, переход между субботами и воскресеньями - если вы попросите «на прошлой неделе», когда сегодняшняя дата - 2016-01-03, она вернется с 2015 по 2015 год - 2016-01-03, I.e. диапазон, который включает текущее воскресенье. Это верно? –
Вы просите даты начала и конца недели до недели в прошлом году с тем же номером, что и текущая неделя в этом году? если да, то что-то подобное может работать? 'SET DATEFIRST 2 SELECT DATEADD (НЕДЕЛЯ, DATEPART (Wk, DATEADD (wk, DATEDIFF (wk, 6, GETDATE()), 0)) - 1, DATEADD (YEAR, -1, GETDATE())) AS PreviousMonday' –