明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

SqlServer 2008 创建测试数据的方法

[摘要]包含要点: 数据库的循环 、 insert select 句式 、 随机数(rand()函数)、绝对值(abs()函数)DECLARE @starttime varchar(50)DECLARE...
包含要点: 数据库的循环 、 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   判断

以上就是SqlServer 2008 创建测试数据的方法的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。