如何迭代此SQL查询以遍历特定的日期范围



2016-2020年,我需要一年提取三个月。例如,我需要一个文件中的1月至3月,另一个文件为4月至6月,等等。

我的SQL的开始看起来是这样的,但我需要它经历2016-2020年,一次提取三个月的数据。

DECLARE @StartDateKey int = 20160101,
@EndDateKey int = 20160331;

您的代码看起来像SQL Server。您可以使用递归CTE:

with dates as (
select convert(date, '20160101') as dte
union all
select dateadd(month, 3, dte)
from dates
where dte < '20201001'
)
select *
from dates;

这里有一个db<gt;不停摆弄

最新更新