right('000000'+cast(cast('000010' as int)+1 as varchar(10)),6)

解决方案 »

  1.   

    insert into @tb select right('000000'+cast(cast('000010' as int)+1 as varchar(10)),6)
    ,lower(left(newid(),6))
    是这样的吗?
      

  2.   

    declare @tb table (a char (6),b char(6))
    declare @counter int
    set @counter=0
    while @counter<1000
    begin
    insert into 
        @tb 
    select 
        right('000000' + cast(cast(isnull(max(a),'0') as int)+1 as varchar(6)),6),
        lower(left(newid(),6)) 
    from 
        @tb
    set @counter=@counter+1
    endselect * from @tb
      

  3.   

    这个000001的递增还是没有实现啊,所有的记录的fuser全是000001,问题出在哪里?
      

  4.   

    我用以下语句:
    declare @tb table (a char (6),b char(6))
    declare @counter int
    set @counter=0
    while @counter<1000
    begin
    insert into @tb select right('000000' + cast(cast(isnull(max(a),'0') as int)+1 as varchar(6)),6),
        lower(left(newid(),6))
      set @counter=@counter+1
    end
    insert into t_0216user (fuser,fpass) select a,b from @tb
    运行时提示“列名 'a' 无效。”
    而用:
    declare @tb table (a char (6),b char(6))
    declare @counter int
    set @counter=0
    while @counter<1000
    begin
    insert into 
        t_0216user
    select 
        right('000000' + cast(cast(isnull(max(a),'0') as int)+1 as varchar(6)),6),
        lower(left(newid(),6)) 
    from 
        @tb
    set @counter=@counter+1
    end
    则所有的记录的fuser全是000001