现有一表A,数据如下:
期号      号码    百位    十位     个位    
2002001   73      NULL    NULL     NULL
2002002   237     NULL    NULL     NULL
2002003   71      NULL    NULL     NULL
2002004   204     NULL    NULL     NULL
2002005   374     NULL    NULL     NULL
2002006   128     NULL    NULL     NULL现在求一SQL语句,把表A变为:
期号      号码    百位    十位     个位    
2002001   73      0       7        3
2002002   237     2       3        7
2002003   71      0       7        1
2002004   204     2       0        4
2002005   374     3       7        4
2002006   128     1       2        8请各位高手多多跟贴!

解决方案 »

  1.   


    declare @tab table(期号 varchar(20),号码 int)insert @tab values('2002001',73)
    insert @tab values('2002002',237)   
    insert @tab values('2002003',71)   
    insert @tab values('2002004',204)   
    insert @tab values('2002005',374)   
    insert @tab values('2002006',128)   select * from @tabselect *,[百位]=substring(convert(varchar(20),号码),3,1),
    [十位]=substring(convert(varchar(20),号码),2,1),
    [个位]=substring(convert(varchar(20),号码),1,1) from @tab
      

  2.   

    select '期号','号码',left(ltrim(rtrim('0'+'号码')),1) as '百位',
                        substring(ltrim(rtrim('0'+'号码')),2,2) as '十位' ,
                        right(ltrim(rtrim('0'+'号码')),1) as '各位'
      

  3.   

    写错了 select '期号','号码',left(ltrim(rtrim('0'+'号码')),1) as '百位',
                        substring(ltrim(rtrim('0'+'号码')),2,2) as '十位' ,
                        right(ltrim(rtrim('0'+'号码')),1) as '各位'
     from  tablename
      

  4.   

    借用星星点灯朋友的表select 期号,
    百=LEFT(号码,1),
    十=SUBSTRING(号码,2,1),
    个=RIGHT(号码,1)
    FROM (select 期号,right('000'+rtrim(号码),3) 号码 from @tab) x
      

  5.   

    select '期号','号码',left(right(ltrim(rtrim('0'+'号码')),3),1) as '百位',
                        substring(right(ltrim(rtrim('0'+'号码')),3),2,2) as '十位' ,
                        right(right(ltrim(rtrim('0'+'号码')),3),1) as '各位'
    from tablename
      

  6.   

    declare @tab table(期号 varchar(20),号码 int,百位 int,十位 int,个位 int)insert @tab(期号,号码) values('2002001',73)
    insert @tab(期号,号码) values('2002002',237)   
    insert @tab(期号,号码) values('2002003',71)   
    insert @tab(期号,号码) values('2002004',204)   
    insert @tab(期号,号码) values('2002005',374)   
    insert @tab(期号,号码) values('2002006',128) 
      
    update @tab set 百位 = 号码/100
    update @tab set 十位 = (号码-百位*100)/10
    update @tab set 个位 = (号码 - 百位*100 - 十位*10)select * from @tab