Вот один из способов, предполагая, что datefirst
равно 7, и что у вас есть datefromparts()
доступно:
set datefirst 7
declare @dt1 date = datefromparts(year(current_timestamp), 2, 1);
set @dt1 = dateadd(day, 7 - datepart(weekday, @dt1), @dt1);
declare @dt2 date = datefromparts(year(current_timestamp) + 1, 2, 1);
set @dt2 = dateadd(day, 7 - datepart(weekday, @dt2), @dt2);
Если вам нужно выполнить встроенный расчет, просто разверните его по подстановке:
between
dateadd(day, 7 - datepart(weekday, datefromparts(year(current_timestamp), 2, 1)), datefromparts(year(current_timestamp), 2, 1))
and
dateadd(day, 7 - datepart(weekday, datefromparts(year(current_timestamp) + 1, 2, 1)), datefromparts(year(current_timestamp) + 1, 2, 1))