首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一个替换的语句,

2012-02-06 
请教一个替换的语句,在线等......我有一个表,表名为:info_table,其数据如下:itemparavalue1123.4*56.72211

请教一个替换的语句,在线等......
我有一个表,表名为: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

热点排行