我有这个表:插入一系列日期到SQL开始日期和结束日期输入
**ID StartDate EndDate**
1 01/01/2012 03/01/2012
2 28/09/2013 02/10/2013
3 12/06/2011 15/06/2011
,我需要有这个表: 日期
**ID Date**
1 01/01/2012
1 02/01/2012
1 03/01/2012
2 28/09/2013
2 29/09/2013
2 30/09/2013
2 01/10/2013
2 02/10/2013
3 12/06/2011
3 13/06/2011
3 14/06/2011
3 15/06/2011
我旁边SQL代码Retarn起始日期&之间的日期的结束日期+起始日期+结束日期:
declare @Start datetime
declare @end datetime
declare @request int
set @Start = '2014-09-28 06:53:04.560'
set @end = '2014-09-29 11:53:04.560'
set @request = 1
;with Dates as (
select @request as reqId,@Start as reqDate
union all
select reqId+1,DATEADD(hh,1,reqDate) from Dates
where reqDate < @end
)
select * from Dates
如何获得此批结果的StartDate-EndDate输入结果?
使用日历表可以让您的查询更加简单。 http://blog.jontav.com/post/9380766884/calendar-tables-are-incredibly-useful-in-sql。 – mhn 2014-09-29 08:20:08