Получить номер недели, начиная с понедельника с 04:00 утра в году - PullRequest
1 голос
/ 07 апреля 2020

Я использую этот код, но получаю неделю, начиная с воскресенья.

Select DATEPART(week,s.Calculationdate) weeknumber, s.Calculationdate
FROM sales.orders s
WHERE s.Calculationdate >= '2020-01-01 04:00:00' and s.Calculationdate < '2020-05-01 04:00:00'
AND s.Calculationdate< CAST(CONVERT(VARCHAR, GETDATE(),23) + '04:00:00' AS datetime)

1 Ответ

0 голосов
/ 07 апреля 2020

С DATEPART вы можете использовать WEEK и ISO_WEEK:

SELECT DATEPART(WEEK,'2020-04-05')
SELECT DATEPART(ISO_WEEK,'2020-04-05')

, и вы можете получить еще больше настроек управления в первый день недели, используя:

SELECT @@DATEFIRST
SET DATEFIRST 1; -- day of a week
SELECT @@DATEFIRST
...