gpt4 book ai didi

sql-server - 如何获取SQL Server中两个日期之间所有星期的开始日期和结束日期?

转载 作者:行者123 更新时间:2023-12-03 00:10:11 25 4
gpt4 key购买 nike

我需要获取两个日期之间的所有周开始日期和结束日期(周),然后运行一个查询,返回每周插入的记录数。

declare @sDate datetime,
@eDate datetime;

select @sDate = '2013-02-25',
@eDate = '2013-03-25';

--query to get all weeks between sDate and eDate

--query to return number of items inserted in each of the weeks returned



WEEK NoOfItems
-----------------------------------------
2013-02-25 5
2013-03-4 2
2013-03-11 7

最佳答案

您可以使用递归 CTE 来生成日期列表:

;with cte as
(
select @sDate StartDate,
DATEADD(wk, DATEDIFF(wk, 0, @sDate), 6) EndDate
union all
select dateadd(ww, 1, StartDate),
dateadd(ww, 1, EndDate)
from cte
where dateadd(ww, 1, StartDate)<= @eDate
)
select *
from cte

参见SQL Fiddle with Demo .

然后您可以将其加入到您的表中,以返回其他详细信息。

关于sql-server - 如何获取SQL Server中两个日期之间所有星期的开始日期和结束日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15071312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com