首页/应用软件/内容

SqlServer 2008 创建测试数据的方法

应用软件2022-10-23 阅读()
SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
包含要点: 数据库的循环 、 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知识。



……

相关阅读