SQL如何实现自动INSERT有规律的记录?
比如,我Tabel有两个datetime类型的字段
StartTime EndTime实现
第一条记录为
StartTime EndTime
6/14/2006 7:00:00 6/14/2006 19:00:00
第二条记录为上一条记录加12小时
以此类推,生成n条记录谢!
比如,我Tabel有两个datetime类型的字段
StartTime EndTime实现
第一条记录为
StartTime EndTime
6/14/2006 7:00:00 6/14/2006 19:00:00
第二条记录为上一条记录加12小时
以此类推,生成n条记录谢!
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
*/
insert into table1 values(starttime,DATEADD(hour, 12, starttime))