日期:2014-05-17  浏览次数:20379 次

ntext列批量替换的问题
ntext列有一部分内容需要批量替换掉   把内容中的网站绝对地址替换为相对地址

如*****<a href="http://www.xxxx.com/aaa.html">***</a>***<a href="http://www.xxxx.com/bbb.html">***</a>
替换为*****<a href="/aaa.html">***</a>***<a href="/bbb.html">***</a>



域名是固定的   后面的地址不一样

------解决方案--------------------
先convert(nvarchar(max),列名)再试试,ntext很难操作
------解决方案--------------------
貌似要用updatetext等特殊函数处理
建议2005及以上版本
丢掉text ntext 用varchar(max) nvarchar(max)
------解决方案--------------------
你是sql server 2000,还是2005以后的版本呢

------解决方案--------------------
如果是2005及以后的版本,可以这样,试试:

update 表名 
set ntext类型字段=replace(convert(nvarchar(max),ntext类型字段),
                         '*****<a href="http://www.xxxx.com/aaa.html">***</a>***<a href="http://www.xxxx.com/bbb.html">***</a>',
                         '*****<a href="/aaa.html">***</a>***<a href="/bbb.html">***</a>') 

------解决方案--------------------
引用:
nvarchar(max)   这个长度没限制的吗
有限制,看你的数据类型了,但是ntext早就是不建议使用的类型
------解决方案--------------------
引用:
nvarchar(max)   这个长度没限制的吗


最大可以达到2G个字节,基本上就没有限制了,确定能满足你的要求了哈
------解决方案--------------------
update 表名 
set ntext类型字段=replace(convert(nvarchar(max),ntext类型字段),'http://www.xxxx.com/','')