Определите номер недели месяца с помощью SQL - PullRequest
0 голосов
/ 11 июля 2019

Мне нужно найти номер недели месяца. Я знаю, как найти номер недели по году, но не месяц.

Пример: Сентябрь 2019

Неделя 1 - с 1 по 1
Неделя 2 - со 2 по 8
Неделя 3 - с 9 по 15
Неделя 4 - с 16 по 22 * ​​1008 * Неделя 5 - с 23 по 29
Неделя 6 - 30-30

Я попытался найти одну из них, используя приведенную ниже логику, но 1-е сентября 2019 года считается 4-й неделей. Но мне нужно значение как 1 здесь

declare @date datetime = '2019-09-01'
select datepart(day, datediff(day, 0, @date)/7*7)/7, datepart(day, datediff(day, 0, @date)/7 * 7)/7 + 1

Ценю вашу помощь в этом.

1 Ответ

0 голосов
/ 11 июля 2019

Попробуйте с этим

DECLARE @MyDate DATETIME
SET @MyDate = '2019-09-01'

SELECT DATEPART(WEEK, @MyDate) - DATEPART(WEEK, DATEADD(MM, DATEDIFF(MM,0,@MyDate), 0))+ 1 AS NoOfWeeks
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...