在SQL SERVER中批量替换字符串的方法
来源: 阅读:2185 次 日期:2014-11-03 15:21:51
温馨提示: 小编为您整理了“在SQL SERVER中批量替换字符串的方法”,方便广大网友查阅!

方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容)

varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace

替换 text ntext 数据类型字段的语句

update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么')

方法二:(替换其他数据类型字段的语句,实际应用中不常见)

update [表名] set 字段名 = replace(与前面一样的字段名,'原本内容','想要替换成什么')

以下是补充:

1。如何批量替换ntext字段里面的数据

问题描述:

我想把数据库中News表中的字段content中的一些字符批量替换。

我的content字段是ntext类型的。

我想替换的字段是content字段,我想把里面的www.downcc.com替换成http://www.downcc.com,替换方法是:

update News

set content = replace(cast(content as varchar(8000)),

'www.downcc.com',

'http://www.downcc.com')

2。如何批量替换varchar和nvarchar类型

varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超过8000/4000可以先转换成前面两种类型再使用replace。

update 表名

set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值')

update 表名

set ntext类型字段名=replace(convert(nvarchar(4000),ntext类型字段名),'要替换的字符','替换成的值')

不过上面的方法,对于text或ntext字段超过8000的时候就不能用了,一般可以用asp程序来实现,先读取内容替换后,保存到数据库中。

临时解决方法:就是在生成静态的时间,可以先替换再输出,这里有个貌似不错的解决方法了。

更多信息请查看IT技术专栏

更多信息请查看数据库
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map