首页 > 解决方案 > 每月结束的数据准备 - 超过 12 个月

问题描述

我在 SQL 中有数据准备过程。我想在每个月底进行数据准备假设我希望该程序在每月的最后一天运行,例如在 2020 年 1 月 31 日,它应该准备从 1 月 1 日到 1 月 31 日的数据。

所以这是一年中所有月份的移动窗口。因为我需要每个月底的评估数据。

我试过这个,但是,这并没有提供自动化。每个月的那种手动运行结束

select '2020-10-01' as beginDate_AnalysisWindow  
, '2020 -01-31' as endDate_AnalysisWindow 
   into #AnalysisWindow --create temporary table #AnalysisWindow 

我也尝试了以下方法,但是,我不确定是整个月还是一天?

SELECT START_OF_MONTH_DATE AS beginDate_AnalysisWindow
,END_OF_MONTH_DATE AS endDate_AnalysisWindow
INTO #AnalysisWindow
FROM [dbo].[Date] WITH (NOLOCK)
WHERE DATE = DATEADD(dd, - 1,  CAST(GETDATE() AS DATE))

有人可以帮助我/给我一些建议。

提前致谢

标签: sqlsql-serverdatemonthcalendar

解决方案


你也可以试试:

where getdate() <= EOMONTH(GETDATE()) AND
      getdate() > DATEADD(DAY, 1, EOMONTH(GETDATE(), -1))

您可以使用日期列代替 getdate()。


推荐阅读