请教一个替换的语句,在线等......
我有一个表,表名为:info_table ,其数据如下:
item paravalue
11 23.4*56.7
22 11.1*88.0
33 10.0*88.2
我想要把paravalue的值进行替换,替换的要求是*之前的要乘以25.1,*好之后的乘以32.1,得到的结果如下:
item paravalue
11 587.3*1820.1
22 278.6*2824.8
33 251.0*2831.2
谢谢
[解决办法]
declare @t table(item int,paravalue varchar(40))
insert into @t select 11, '23.4*56.7 '
insert into @t select 22, '11.1*88.0 '
insert into @t select 33, '10.0*88.2 '
select item,
rtrim(left(paravalue,charindex( '* ',paravalue)-1)*25.1)+ '* '+
+rtrim(stuff(paravalue,1,charindex( '* ',paravalue), ' ')*32.1) as paravalue
from
@t
/*
item paravalue
----------- -----------------
11 587.34*1820.07
22 278.61*2824.80
33 251.00*2831.22
*/
[解决办法]
Create Table info_table(item int,paravalue Nvarchar(30))
INSERT INTO info_table select 11, '23.4*56.7 '
UNION ALL SELECT 22, '11.1*88.0 '
UNION ALL SELECT 33, '10.0*88.2 '
GO
select * from info_table
select left(paravalue,patindex( '%*% ',paravalue)-1),right(paravalue,len(paravalue)-patindex( '%*% ',paravalue)) from info_table
GO
DROP TABLE info_table