Maison  >  Article  >  base de données  >  Comment créer des données de test dans SqlServer 2008

Comment créer des données de test dans SqlServer 2008

一个新手
一个新手original
2017-10-18 10:02:391487parcourir

Contient les points clés : boucle de base de données, insertion d'un modèle de phrase sélectionné, nombre aléatoire (fonction rand()), valeur absolue (fonction 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 &#39;stop&#39;
            end    
            
        set @starttime= CONVERT(varchar(50), DATEADD(mi,15,@starttime),121)
     end
     
    -- 随机数
  select floor(rand()*100)当然 循环的时候 可以不用 if  else   判断

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn