大家好,我正在研究某种会计系统并遇到了一些困难。Abdul Rasheed 在这个网站上已经回答了这个问题。
这是代码
declare @sDate datetime,
@eDate datetime
select @sDate = '2013-02-21',
@eDate = '2013-04-25';
with CTE_TEST
as (
select @sDate SDATE,
DATEADD(s, - 1, DATEADD(mm, DATEDIFF(m, 0, @sDate) + 1, 0)) EDATE
union all
select EDATE + 1,
DATEADD(s, - 1, DATEADD(mm, DATEDIFF(m, 0, DATEADD(MONTH, 1, SDATE)) + 1, 0))
from CTE_TEST C
where DATEADD(MONTH, 1, SDATE) < DATEADD(s, - 1, DATEADD(mm, DATEDIFF(m, 0, @eDate) + 1, 0))
)
select DATENAME(MONTH, SDATE) MNAME,
SDATE, (case when EDATE > @eDate then @eDate else EDATE end) EDATE
from CTE_TEST
代码工作得很好,就像我想要的一样。但我想将结果插入到新表中。我怎么做?