沒有。
可以用其它方法。例
/*6為總的位數*/Declare @p int
Set @p=11
SELECT RIGHT(CAST(Power(10,6)+@p as varchar),6) as Result

解决方案 »

  1.   

    自己转换一下:DECLARE @id INT, @res CHAR(10)
    SELECT @res = REPLACE(STR(@id,6), ' ', '0')
      

  2.   

    select right(("000000" + right(id, len(id))), 6)
      

  3.   

    我也遇到过同样的问题,当时的解决办法是把这种字段做成char型,位数不够的就补零
    如果想补成三位,而你的数字只有一位
    set @x='00'+@x
    其他的可触类旁通
      

  4.   

    right(('0000'+ltrim(convert(varchar(4),convert(numeric(4,0),@maxhm)+1))),4)
      

  5.   

    不要用vchar 类型,要用char
      

  6.   

    N_Chow(一劍飄香) 
    什么时候我才能有你一样的水平 呀
      

  7.   

    最简单的办法:
    right(1000000+id,6)
      

  8.   

    2 yannankai(难的我不会) ,
      有我一樣的水平? 還不簡單,你請我吃一頓,我收你為徒。呵呵。
    :)
      

  9.   

    一、二位的方法都很好!to:N_Chow
    什么时候来的,那么高分?为什么用繁体字,不是大陆的吗?
      

  10.   

    这种情况我也遇到过,记得当时是这么干的:
    可以这样:
    当id为数字时:
             right(str(100000000000+id),6))
    当改变6时可以取出你需要的任意位!
         赶快给分吧!这个方法最简单!