У меня есть запрос, в котором мне нужно вычислить номер недели на основе финансового начала года, наступившего 01.07. ГОД
Проблема, с которой я сталкиваюсь, заключается в том, что при переходе на 30 дней календарного годаЯ не получаю правильный результат, поэтому мне нужно изменить свой сценарий.Я хочу запрос, который возвращает правильный номер недели независимо от того, в каком месяце я нахожусь.
У меня заполнена таблица календаря;Я добавляю 18 месяцев к текущей дате, что дает мне период, и поэтому я пытался сделать то же самое для недели, но я хожу по кругу.
Ниже приведен код, который я использую:
SET DATEFIRST 1;
SELECT
[date],
DATEPART(wk, DATEADD(MONTH, 18, DATEADD(dd, -2, [date]))) 'FWeek',
LEFT(CONVERT(varchar, DATEADD(MONTH, 18, [date]), 112), 6) AS 'Period',
DATENAME(dw, [date]) AS 'Day'
FROM [dbo].[DP_PERIOD_DATES]
WHERE [date] >= '01/11/2018'
AND [date] < '04-01-2019'
ORDER BY [date] DESC