我需要将一个int类型的数据转换为8位varchar类型的数据。
但是当int类型的数据不足8位时,转换成varchar类型不会将缺少的位数补为0。
比如将11转换成varchar(8),还是'11',而不是'00000011'。
cast和convert都试过了。
请高手解答,谢谢了。

解决方案 »

  1.   

    right('00000000'+ cast(columnname as varchar(8)),8)
      

  2.   

    select right(100000000 + 11,8)
      

  3.   

    declare @i int
    set @i=11
    select right('00000000' + CAST(@i as varchar), 8)
      

  4.   

    select right('00000000' + convert(varchar(8) , 11) , 8)select right('00000000' + convert(varchar(8) , fields) , 8)
      

  5.   

    select right('00000000' + convert(varchar(8) , fields) , 8) from .....