我正在试图生成一个包含一系列日期时间的表。SQL Server 2008生成一系列日期时间
我有指定的开始日期时间和结束日期时间(结束日期时间是序列结束),我添加了一个时间间隔〜(这可以变化)到开始日期时间,以秒为单位,这给了我结束日期时间。
下一个序列使用结束日期时间作为其起始值,并以秒为单位添加时间间隔。为了演示我需要的输出。是否有一个快速的方法来创建这样一个表,除了使用大量的插入到命令?我真的难倒
StartTime Endtime Duration
2011-07-20 11:00:33 2011-07-20 11:09:47 554
2011-07-20 11:09:47 2011-07-20 11:19:01 554
declare @StartTime datetime = '2011-07-20 11:00:33',
@EndTime datetime = '2011-07-20 15:37:34'
@Interval int = 554 -- this can be changed.
insert into tmp_IRange
values('2011-07-20 11:00:33', DATEADD(SECONDS, @Duration, 2011-07-20 11:00:33))
这变得非常乏味..尤其是当结束日期时间2011-07-20 15:37:34
有很多INSERT语句,使:(
你没有真正展示你的输出。你能展示你真正想要的前三和后三行吗? –
请注意,基于递归CTE的答案有32767个递归级别的限制。 (请参阅MAXRECURSION文档。) – HABO
@ user92546 - 情况并非如此。 MAXRECURSION 0'无限制。 –