Используйте значение типа ISO_WEEK но начинайте неделю в воскресенье
Я пытаюсь получить свое календарное измерение, чтобы правильно рассчитать недели года, которые ISO_week казались решением, но я нахожусь в США, и наши недели начинаются в воскресенье. Есть ли способ заставить недели начинаться по воскресеньям, все еще имея конец/начало лет, находящихся в правильных неделях, например, как ISO_WEEK вычисляет их? Мое текущее добавление в словарь начинается по воскресеньям, но имеет 53-ю неделю каждый год, потому что у меня нет глубокой формулы. В настоящее время я использую
DATEPART(WW, @CurrentDate) AS week_of_year,
Справочная информация по @CurrentDate будет такой
DECLARE @StartDate DATETIME = '01/04/2010' --Starting value of Date Range DECLARE @EndDate DATETIME = '01/01/2050' --End Value of Date Range DECLARE @CurrentDate AS DATETIME = @StartDate SET @CurrentMonth = DATEPART(MM, @CurrentDate) SET @CurrentYear = DATEPART(YY, @CurrentDate) SET @CurrentQuarter = DATEPART(QQ, @CurrentDate)
Что я уже пробовал:
В настоящее время для ISOweek у меня есть:
[isoweek] AS DATEPART(ISO_WEEK, [date_day]),
Date_day - это просто дата
Я тоже пробовал
[iso_week_of_year] TINYINT NULL, iso_week_of_year = CONVERT(TINYINT, isoweek),
Они просто возвращают недели, начинающиеся в понедельник, как и ожидалось.