SQL如何实现自动INSERT有规律的记录?
比如,我Tabel有两个datetime类型的字段
StartTime            EndTime实现
第一条记录为
StartTime            EndTime
6/14/2006 7:00:00    6/14/2006 19:00:00
第二条记录为上一条记录加12小时
以此类推,生成n条记录谢!

解决方案 »

  1.   

    create table t(time1 datetime,time2 datetime)
    declare @n int,@i int,@startTime datetime
    select @n=10,@i=1,@startTime='6/14/2006 7:00:00'
    while @i<=@n
    begin
    insert t select @startTime,dateadd(Hour,12,@startTime)
    set @i=@i+1
    set @startTime=dateadd(Hour,12,@startTime)
    end
    select * from t
    drop table t
    /*
    time1                                                  time2                                                  
    ------------------------------------------------------ ------------------------------------------------------ 
    2006-06-14 07:00:00.000                                2006-06-14 19:00:00.000
    2006-06-14 19:00:00.000                                2006-06-15 07:00:00.000
    2006-06-15 07:00:00.000                                2006-06-15 19:00:00.000
    2006-06-15 19:00:00.000                                2006-06-16 07:00:00.000
    2006-06-16 07:00:00.000                                2006-06-16 19:00:00.000
    2006-06-16 19:00:00.000                                2006-06-17 07:00:00.000
    2006-06-17 07:00:00.000                                2006-06-17 19:00:00.000
    2006-06-17 19:00:00.000                                2006-06-18 07:00:00.000
    2006-06-18 07:00:00.000                                2006-06-18 19:00:00.000
    2006-06-18 19:00:00.000                                2006-06-19 07:00:00.000
    */
      

  2.   

    一条记录可以这样的得到
    insert into table1 values(starttime,DATEADD(hour, 12, starttime))