CREATE TABLE A (B INT IDENTITY(1,1))
  B
  1
  2
  3
  .
  .
  13
我想得到如下的格式
  B
  000001
  000002
  000003
  .
  .
  000013
谁能帮忙些个函数啊

解决方案 »

  1.   

    select right('00000'+cast(b as varchar(10)),6) from a
      

  2.   

    create function convertfmt(@s int)
    returns varchar(6)
    as
    declare @rt varchar(6)
    select @rt=replicate('0',6-len(cast(@s as varchar(6))))+cast(@s as varchar(6))
    return @rt
    go
      

  3.   

    create function convertfmt(@s int)
    returns varchar(6)
    as
    begin
    declare @rt varchar(6)
    select @rt=replicate('0',6-len(cast(@s as varchar(6))))+cast(@s as varchar(6))
    return @rt
    end
      

  4.   

    select replace(
             space(
                6-len( cast(b as varchar(20)) )
           ),' ','0')+cast(b as varchar(20) as b from b
      

  5.   

    select right(1000000+B,6) from A
      

  6.   

    create function lst(@a int)
    returns varchar(100)
    as 
     begin
       declare @back varchar(100)
       set @back=cast(@a as varchar(10))
       select @back=
       case len(@back)
       when 1 then '00000'+@back
       when 2 then '0000'+@back
       when 3 then '000'+@back
       when 4 then '00'+@back
       else '0'+@back 
       end 
     end