您好,欢迎来到汇意旅游网。
搜索
您的当前位置:首页SqlServer2008创建测试数据的方法

SqlServer2008创建测试数据的方法

来源:汇意旅游网

包含要点: 数据库的循环 、 insert select 句式 、 随机数(rand()函数)、绝对值(abs()函数)

DECLARE @starttime varchar(50)
 DECLARE @endtime varchar(50)
 DECLARE @randomvalue float
 SET @starttime='2017-09-15 00:15:00.000'
 SET @endtime='2017-10-20 00:00:00.000'
-- set @randomvalue=floor(rand()*10)
-- -- select CONVERT(varchar(50), DATEADD(mi,15,@starttime),121)
--select [TagID],[Value]-@randomvalue,[StartValue]-@randomvalue,CONVERT(varchar(50),DATEADD(mi,15,[StartTime]),121),[EndValue]-@randomvalue,CONVERT(varchar(50),DATEADD(mi,15,[EndTime]),121)
--from [dbo].[DimTagMinuteData] where TagID in (1,
-- 2,3,4,5,6,
-- 7,8,9,10,11,
-- 12,13,14,15,16,
-- 17,18,19,20
-- )
--and StartTime=@starttime and EndTime=CONVERT(varchar(50),DATEADD(mi,15,@starttime),121)
 WHILE @starttime<=@endtime
 begin
 set @randomvalue=floor(rand()*10)
 IF @starttime<=@endtime
 BEGIN
 insert INTO DimTagMinuteData ([TagID],[Value],[StartValue]
 ,[StartTime]
 ,[EndValue]
 ,[EndTime])
 select [TagID] , 
 ABS([Value]-@randomvalue) ,
 ABS([StartValue]-@randomvalue),
 CONVERT(varchar(50),DATEADD(mi,15,[StartTime]),121),
 ABS([EndValue]-@randomvalue),
 CONVERT(varchar(50),DATEADD(mi,15,[EndTime]),121)
 from [dbo].[DimTagMinuteData] where TagID in (1,
 2,3,4,5,6,
 7,8,9,10,11,
 12,13,14,15,16,
 17,18,19,20
 )
 and StartTime=@starttime and EndTime=CONVERT(varchar(50),DATEADD(mi,15,@starttime),121)
 end
 
 else 
 begin
 print 'stop'
 end 
 
 set @starttime= CONVERT(varchar(50), DATEADD(mi,15,@starttime),121)
 end
 
 -- 随机数
 select floor(rand()*100)当然 循环的时候 可以不用 if else 判断

Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务