灿烂的阳光,苦涩的生活,认真做,你能行!

sql 使用dateADD函数 自增时间

上一篇 / 下一篇  2009-12-18 16:36:43 / 个人分类:数据库

来自塞北云

这两天又温习了一下SQL,好久没有动过了。。。人都锈竇了哦。

第一种分钟自增:

declare @i int,@a varchar(20),@c datetime
set @i=0
set @a='100100000'
set @c='2009-9-11 10:06:01'
while @i<=20
begin

    insert T_create_time
     select left(@a,9)+right('000'+ltrim(@i),3),
             dateadd(minute,1,@c)       
      set @i=@i+1
      set @c=dateadd(minute,1,@c)
end

=============运行结果如下

100100000000       2009-9-11 10:07:01

100100000001       2009-9-11 10:08:01

100100000002       2009-9-11 10:09:01

。。。。

。。。。

。。。。

 

第二种分钟自增:

declare @i int,@a varchar(20),@c datetime
set @i=0
set @a='100100000'
set @c='2009-9-11 10:06:01'
while @i<=20
begin

    insert T_create_time
     select left(@a,9)+right('000'+ltrim(@i),3),
             dateadd(minute,1,@c)       
      set @i=@i+1
      set @c=@c+1
end

=============运行结果如下

100100000000       2009-9-12 10:07:01

100100000001       2009-9-13 10:07:01

100100000002       2009-9-14 10:07:01

。。。。

。。。。

。。。。

利用这种方法可以为数据库中的某个表插入大量数据库,可以做大数据量的测试工具打好前提,如果涉及多张表的话,可以考虑用触发器同时对多表进行操作。 :)

  • SQL中插入多行(包括列某部分自增)

    2009-09-09 17:43:22

    若表t_run_users中有字段user_no , user_name ,create_date 三字段,其中主键user_no中值为100100000000(12位),user_name的值为0000,(应该不为主键也可用此办法)

    declare @i int,@a varchar(20)
    set @i=1
    set @a='1001'
    while @i<=200
    begin
        insert T_Run_Users
         select left(@a,4)+right('00000000'+ltrim(@i),8),
                right('0000'+ltrim(@i),4), 
                '2009-09-08 09:22:39'
          set @i=@i+1
    end

    扫行出来的结果如下

    ------------------

    user_no              user_name         create_date

    100100000000         0000              2009-09-08 09:22:39

    100100000001         0001              2009-09-08 09:22:39

    100100000002         0002              2009-09-08 09:22:39

    .......

    .......

     

    :)  


  • TAG:

     

    评分:0

    我来说两句

    Open Toolbar