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;不停摆弄