大家好,我正在研究某種會計系統,並遇到一些困難。這個問題已經由Abdul Rasheed在這個網站上回答了。如何獲得SQL Server中兩個日期之間的開始日期和結束日期
這是代碼
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
代碼的偉大工程,就像我想要什麼。但我想將結果插入到新表中。我怎麼做?
什麼是您的預期輸出..? – Mansoor
來自@Abdul Rasheed的代碼 –
請確保標題符合您的實際問題 – HoneyBadger