一个生成测试数据的问题
我现在建立了一个表
create table vt(id int identity,starttime datetime,endtime datetime)
其中starttime和endtime分别代表一个有效时间段的起始和结束时间
我现在想在这个表中自动生成一定数量的记录,要求就是这些时间的生成要是随机的,就是每重新生成一次里面的记录数据会不同.
请问怎么写sql语句?
谢谢!在线等
------解决方案--------------------create table vt(id int identity,starttime datetime,endtime datetime)
go
declare @i int
select @i = 0
while @i <1000
begin
insert into vt(starttime,endtime) select cast(rand()*100000 as datetime),cast(rand()*100000 as datetime)
select @i=@i+1
end
go
select * from vt
drop table vt
------解决方案-------------------- create table vt(id int identity,starttime datetime,endtime datetime)
go
declare @i int
select @i = 0
while @i <1000
begin
declare @start datetime
declare @end datetime
set @start=cast(rand()*100000 as datetime)
set @end=cast(rand()*100000 as datetime)
if @start <@end
begin
insert into vt(starttime,endtime) select @start,@end
select @i=@i+1
end
else
set @i=@i+1
end