我正在試圖生成一個包含一系列日期時間的表。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'無限制。 –