灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2807回复:0

[SQL Server]批量替换sqlserver数据库TEXT字段类型的数据

楼主#
更多 发布于:2013-06-17 11:08
批量替换sqlserver数据库TEXT字段类型的数据
 
在申请百度推广账户的时候,百度需要审查旅游网站不能含有机票两个字,所以需要在旅游线路中批量替换掉机票2个字。
 
替换示例如下:  
 
--创建数据测试环境
 
create table #tb(L_TEXT Ntext)
insert into #tb
select 'abc123机票abc123,asd'
 
 
--定义替换的字符串
declare @s_str varchar(8000),@d_str varchar(8000)
select @s_str='机票' --要替换的字符串
,@d_str='机.票' --替换成的字符串
 
 
--字符串替换处理
declare @p varbinary(16),@postion int,@rplen int
select @p=textptr(L_TEXT),@rplen=len(@s_str),@postion=charindex(@s_str,L_TEXT)-1 from #tb
 
 
while @postion>0
begin
updatetext #tb.L_TEXT @p @postion @rplen @d_str
select @postion=charindex(@s_str,L_TEXT)-1 from #tb
end
 
 
--显示结果
select * from #tb
 
 
--删除数据测试环境
drop table #tb

喜欢0 评分0
游客

返回顶部