列出表的两个Date列之间的所有日期

Zet*_*uzz 3 sql sql-server date

我的表PRODUCT有3列:

Product_ID
INTRODUCED_DATE
WITHDRAWAL_DATE
Run Code Online (Sandbox Code Playgroud)

我需要PRODUCT_ALL_DATES从此表创建一个派生表,列出产品处于活动状态的所有日期.日期范围是INTRODUCED_DATE(开始日期)和WITHDRAWAL_DATE(结束日期)

如何在SQL Server中实现此目的?我已在附加图像中指示了示例输出:

http://i.imgur.com/vOBVa.jpg

谢谢!

rah*_*rma 5

declare @dateh table(ind int identity(1,1),date1 smalldatetime,date2 smalldatetime)

insert into @dateh select '1/1/2011','1/15/2011'

select * from @dateh

;with T as
(
    select date1,date2 from @dateh as d
    union all
    select dateadd(dd,1,date1),date2 From T 
    where  dateadd(dd,1,date1)<= date2
)
Select date1 from T
Run Code Online (Sandbox Code Playgroud)