【发布时间】:2020-03-18 09:05:33
【问题描述】:
我想给出开始日期和结束日期作为输入,我需要这些日期之间的周数列表。 例如: 如果我将开始日期设为 01/11/2019,结束日期设为 14/12/2019,我的输出将是
1
2
3
4
5
1
2
3
(因为前 5 个是 11 月的几周,接下来的 3 个是 12 月的几周)......让我们看另一个例子:如果我将开始日期指定为 14/11/2019 并将结束日期指定为2019 年 12 月 14 日,我的输出将是
3
4
5
1
2
3
(因为前 3 个是 11 月的几周,接下来的 3 个是 12 月的几周)....
DECLARE @StartDate AS DATETIME
DECLARE @EndDate AS DATETIME
DECLARE @CurrentDate AS DATETIME
SET @StartDate = '2019-11-01'
SET @EndDate = '2019-12-14'
SET @CurrentDate = @StartDate
WHILE (@CurrentDate < @EndDate)
BEGIN
Print datepart(day, datediff(day, 0, @CurrentDate)/7 * 7)/7 + 1
SET @CurrentDate = DATEADD(DAY, 7, @CurrentDate);
END
【问题讨论】:
-
MySQL != SQL Server。请仅标记您实际使用的RDBMS。
-
你做了什么发布。
-
请只添加相关标签,标签列表不是您的简历。
-
如何定义一个月内的“周数”?即很明显,每月的第一天总是在第一周……但是第二周什么时候开始? - 即您对日期范围
10 nov 2019到3 Dec 2019和11 Nov 2018到8 Dec 2019的期望是什么
标签: javascript c# sql asp.net