10.01.2016

SQL: Получение списка недель с номерами

Небольшой скрипт для получения списка недель, их номеров, а также даты начала и конца конкретной недели:
DECLARE @YearNumber char(4) = 2015

DECLARE @Weeks TABLE 
(
   WeekNumber int,
   StartOfWeek datetime,
   EndOfWeek datetime
);

DECLARE @WeekNumber int = 1;
WHILE YEAR(DATEADD(wk, DATEDIFF(wk, 6, '1/1/' + @YearNumber) + (@WeekNumber-1), 6)) <= @YearNumber
BEGIN
    INSERT INTO @Weeks
    VALUES  (
                @WeekNumber,
                DATEADD(wk, DATEDIFF(wk, 6, '1/1/' + @YearNumber) + (@WeekNumber-1), 6),
                DATEADD(wk, DATEDIFF(wk, 5, '1/1/' + @YearNumber) + (@WeekNumber-1), 5)
            )

    SET @WeekNumber = @WeekNumber +1;
END

SELECT *
FROM @Weeks

Комментариев нет:

Отправить комментарий