读书人

一个生成测试数据的有关问题

发布时间: 2012-02-13 17:20:26 作者: rapoo

一个生成测试数据的问题
我现在建立了一个表
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

读书人网 >SQL Server

热点推荐