Я использую SQL Server 2008R2 и пытаюсь разбить заданный месяц на неделю. Я получил следующее решение. Но мне нужны дни между (пн-пт), а не (вс-сб). Как я могу это сделать?
DECLARE @start_date DATETIME, @end_date DATETIME
DECLARE @Table table(StartDate datetime,Enddate datetime,WeekNo int)
SET @start_date = '1 Dec 2018'
SET @end_date = '31 Dec 2018'
INSERT @Table
SELECT MIN(dt), MAX(dt), w
FROM
(
SELECT dt, year(dt) y, DATEPART(week,dt) w
FROM
(
SELECT @start_date + (ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) - 1) dt
FROM sys.columns s1 cross join sys.columns s2
) q
WHERE dt BETWEEN @start_date AND @end_date
) a
group by y,w
Select * from @Table order by startdate, weekno