select right('000000'+cast(123 as varchar(6)),6)------------ 
000123(所影响的行数为 1 行)

解决方案 »

  1.   

    declare @a int
    set @a=555
    select right('0000'+cast(@a as varchar),5)
    ---------test-------------
    00555
      

  2.   

    要穿换为多长,将right中得知改为几即可,但前面0要足够多
      

  3.   

    select right('000000'+cast(123 as varchar(6)),6)
      

  4.   

    凑个热闹,来个不同的麻烦的写法.
    REPLICATE( '0',len( cast( 123 as varchar(6) ) ) ) + cast( 123 as varchar(6) )
      

  5.   

    改用convert就可以了
    select right('00000'+convert(varchar(5),123),5)