Мое требование состоит в том, что я хочу найти business-week-ending
(а не неделю календаря) с учетом столбца DATE
из таблицы продаж в MSSQL.Группа Business Week в SQL (вместо календарной недели)
Используя различные методы, мне удалось найти выходные дни [Календари] (дни недели), соответствующие DATE
в таблице.
Поскольку наша рабочая неделя заканчивается в среду [DOW 3 или 4 в зависимости от недели], я попытался вычесть количество дней с даты окончания недели, чтобы вернуть ее в среду. Идея неплохо справилась с недостатком. Работает нормально, пока Date
в таблице больше, чем DOW 3 или 4. Любое предложение?
SELECT DateAdd(wk, DateDiff(wk, 0, Recons_Sales_Details.Recons_Date), 0) + 2
Можете ли вы опубликовать свой код, который вы пробовали? – FutbolFan
Ваш код использует понедельник - воскресную неделю, потому что день ноль (1.1.1900) был в понедельник. Вы можете изменить это, изменив оба значения на одну другую дату, например, четверг –
@JamesZ: 20130102 - Wed. этот код заканчивается неделю в среду. но в то же время он загибается назад 20150801 до выходных 7/29. DateAdd (неделя, DateDiff (неделя, '2013-01-02', Recons_Sales_Details.Recons_Date), '2013-01-02'), – Honda