SqlServer 2008 创建测试数据的方法


本文摘自PHP中文网,作者一个新手,侵删。

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

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 创建测试数据的方法的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

几种mysql复制表结构、表数据方法

SQLServer动态掩码的详细介绍(代码示例)

mysql删除重复数据保留最小的id

mysql汇总和分组数据

mysql按时间统计数据的方法介绍(代码示例)

phpmyadmin怎么删除表中数据

mysql实现百万的数据快速创建索引

sql server 怎么创建数据库?

SQLServer中如何删除用户自定义数据库用户(图文详解)

oracle如何更改表空间的数据文件位置

更多相关阅读请进入《SQLServer》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...