我被困了两天。我怎样才能得到一个月的每周数字。
例如:今年5月我们有18、19、20、21、22个星期
我想要的是一个可以得到周数的请求。
谢谢。
您尚未提供该表。在下面的代码中,我正在生成日期表并填写五月月份的日期值。我得到了本月不同的周数。
您可以使用DATEPART(week,(轻松获取任何日期的周数。在msdn 中阅读更多关于DATEPART的信息
DECLARE @FromDate DATETIME, @ToDate DATETIME;
SET @FromDate = '2020-05-01';
SET @ToDate = '2020-05-31';
DECLARE @DateTable TABLE(theDate DATE)
-- all days in that period
INSERT INTO @DateTable
SELECT TOP (DATEDIFF(DAY, @FromDate, @ToDate)+1)
TheDate = CAST(DATEADD(DAY, number, @FromDate) AS DATE)
FROM [master].dbo.spt_values
WHERE [type] = N'P' ORDER BY number;
SELECT DISTINCT DATEPART(week,thedate) as weeknumbers FROM @DateTable
+-------------+
| weeknumbers |
+-------------+
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
+-------------+