现有一表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请各位高手多多跟贴!
期号 号码 百位 十位 个位
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请各位高手多多跟贴!
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
substring(ltrim(rtrim('0'+'号码')),2,2) as '十位' ,
right(ltrim(rtrim('0'+'号码')),1) as '各位'
substring(ltrim(rtrim('0'+'号码')),2,2) as '十位' ,
right(ltrim(rtrim('0'+'号码')),1) as '各位'
from tablename
百=LEFT(号码,1),
十=SUBSTRING(号码,2,1),
个=RIGHT(号码,1)
FROM (select 期号,right('000'+rtrim(号码),3) 号码 from @tab) x
substring(right(ltrim(rtrim('0'+'号码')),3),2,2) as '十位' ,
right(right(ltrim(rtrim('0'+'号码')),3),1) as '各位'
from tablename
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