日期:2014-05-18 浏览次数:20421 次
Declare @T Table(id int,Content ntext) Insert @T Select 1,'http://192.168.1.110/掌骨额http://192.168.1.110/阳升的地方http://192.168.1.110/永点http://192.168.1.110/ ' Union All Select 2,'李四http://192.168.1.110/张三http://192.168.1.110/阳升的地方' --更新 Update @T Set Content=Replace(Cast(Content As Varchar(8000)),'http://192.168.1.110/','web') --查询更新后的结果 Select * From @T ---结果 /* id Content ----------- --------------------------------- 1 web掌骨额web阳升的地方web永点web 2 李四web张三web阳升的地方 (所影响的行数为 2 行) */
------解决方案--------------------
在sql2005下面不在建议使用TEXT\NTEXT\IMAGE数据类型,请使用NVARCHAR(MAX)代替
------解决方案--------------------
DECLARE @insert_offset int,@delete_length int DECLARE @newstr varchar(50) set @delete_length = len('http://192.168.1.110/') set @newstr = 'web' select @insert_offset = patindex('%http://192.168.1.110/%',str)-1 from a where id=1 DECLARE @ptrval binary(16) SELECT @ptrval = TEXTPTR(str) FROM a where id=1 UPDATETEXT a.str @ptrval @insert_offset @delete_length @newstr
------解决方案--------------------
用bcp将数据导出,用word替换,再用bcp导入