日期:2014-05-18  浏览次数:20531 次

从replace替换看,MS-SQL Server 不如access也不如mysql
有一个ms sql server2000数据库 一个表中的一个“内容”字段,
需要将其中的一个字符串替换成另一个字符串,使用replace命令后,替换成功,但后发现内容长度大于8000的记录,内容已经被截断,不全了,查找资料,知道,原来,mssqlserver只支持长度<8000的替换。

我查到了 邹建ntext字段的替换处理示例--全表替换

邹建ntext字段的替换法,执行起来,非常慢,如果要替换的命令有很多,就慢的受不了

可发现,
update content set 内容=replace(内容,"<p>","") where 内容 like "*<p>*"
这条命令在access中执行很快,而且,也没有截断的问题

再发现mysql的替换也不存在这样的截断问题,
难道只有一向被认为的远远强于access和mysql的mssql server才有这样的截断现象?

想问一下:ms sql server 能不能有什么方法,使用replace而不截断的,或者其他执行速度会很快的方法?

mssqlserver2005,我装了一个试了一下,好象nvarchar(max)类型字段也有长度限制,



------解决方案--------------------
别告诉我说你不懂函数嵌套喔,