请问如何在sql将一整型数转换为固定长度的字符串,不足位数在前面补“0”,
如“456”转为“00456”,
   “12”转为“00012”或直接将“00456”转为“00457”就是加“1”

解决方案 »

  1.   

    select right('000000'+'456',6)
    select right('000000'+'56',6)
    ---------
    000456(1 行受影响)
    --------
    000056(1 行受影响)
      

  2.   

    select right(100000+456,5)
    select right(100000+456+1,5)
      

  3.   

    create table #a(value int)
    insert #a select 456
    insert #a select 12select right(ltrim(100000+value+1),5) from #a
    ----------
    00457
    00013(2 行受影响)
      

  4.   

    不需要
    ltrim
    right已经隐式转换了
      

  5.   

    select  Right('000000'+Convert(Varchar(20),Convert(Int,'00456')+1),6)
      

  6.   

    select right(100001+col,5) from tb