SQL语句 将一个字段分成两个字段
SQL语句 将一个字段分为两个字段
字段A
100*200*10*20/12m
110*210*10*30/6m
500*300*15*16/300m
7000*8000*20*25/2000m
现在需要把“/”两边的数分别存到两个字段B和C,并且去掉最后“m”,如下:
B C
100*200*10*20 12
110*210*10*30 6
500*300*15*16 300
7000*8000*20*25 2000
请问如何实现?
------解决方案--------------------
------解决方案--------------------
字段A
100*200*10*20/12m
110*210*10*30/6m
500*300*15*16/300m
7000*8000*20*25/2000m
现在需要把“/”两边的数分别存到两个字段B和C,并且去掉最后“m”,如下:
B C
100*200*10*20 12
110*210*10*30 6
500*300*15*16 300
7000*8000*20*25 2000
请问如何实现?
------解决方案--------------------
select
parsename(replace(a,'/','.'),2) as b,
replace(parsename(replace(a,'/','.'),1),'m','') as c
from
tb
------解决方案--------------------
create table sh
(字段A varchar(100))
insert into sh
select '100*200*10*20/12m' union all
select '110*210*10*30/6m' union all
select '500*300*15*16/300m' union all
select '7000*8000*20*25/2000m'
select substring(字段A,1,patindex('%/%m',字段A)-1) 'B',
replace(substring(字段A,patindex('%/%m',字段A)+1,100),'m','') 'C'
from sh
/*
B C
------------------------------ ----------------
100*200*10*20 12
110*210*10*30 6
500*300*15*16 300
7000*8000*20*25 2000
(4 row(s) affected)
*/