问题:如何将int转换为固定位数的字符串,比如说固定为2个字符的字符串,1转换成01,9转换为09排除方法,if判断数字是否小于10,小于10,左补零

解决方案 »

  1.   

    declare @i int = 1
    select @i, right(100+@i,2), right('0'+ltrim(@i),2)
    /*
    1           01   01
    */
      

  2.   

    test
    select right(100+number,2)  from master..spt_values where type='P' and number<100
      

  3.   

    没有别的办法吗,只能这样用字符串拆分的方式?
    就没有  类似formal(int,'##')这样的方法
    就像excel中设置数字格式那样
    oracle的pl/sql里都有这样的功能呀  t-sql 没有理由没有这个功能
      

  4.   

    没有别的办法吗,只能这样用字符串拆分的方式?
    就没有  类似formal(int,'##')这样的方法
    就像excel中设置数字格式那样
    oracle的pl/sql里都有这样的功能呀  t-sql 没有理由没有这个功能
      

  5.   

    sql没有这样的功能,2012或许会有,正打算装12
      

  6.   

    -- 可以用replicate试试
    select right(replicate('0', 10) + rtrim(9), 5)