sql – 最简单的方式来填充包含2个日期参数之间的日期的临时表
发布时间:2020-12-12 16:16:18 所属栏目:MsSql教程 来源:网络整理
导读:使用包含日期和日期参数之间的日期来填充临时表的最简单方法是什么?我只需要一个月的第一天的日期. 所以例如@StartDate =’2011-01-01’和@EndDate =’2011-08-01′ 然后我希望这在表中返回 2011-01-012011-02-012011-03-012011-04-012011-05-012011-06-0120
使用包含日期和日期参数之间的日期来填充临时表的最简单方法是什么?我只需要一个月的第一天的日期.
所以例如@StartDate =’2011-01-01’和@EndDate =’2011-08-01′ 然后我希望这在表中返回 2011-01-01 2011-02-01 2011-03-01 2011-04-01 2011-05-01 2011-06-01 2011-07-01 2011-08-01 解决方法即使@StartDate不是本月的第一个,这也是有效的.我假设如果不是本月初,你想从下个月的第一个开始.否则删除1:;WITH cte AS ( SELECT CASE WHEN DATEPART(Day,@StartDate) = 1 THEN @StartDate ELSE DATEADD(Month,DATEDIFF(Month,@StartDate)+1,0) END AS myDate UNION ALL SELECT DATEADD(Month,1,myDate) FROM cte WHERE DATEADD(Month,myDate) <= @EndDate ) SELECT myDate FROM cte OPTION (MAXRECURSION 0) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |