服务器之家

服务器之家 > 正文

MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法

时间:2019-11-21 14:52     来源/作者:MSSQL教程网

方法一:(这种是最常用的,因为很多大段的内容都使用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.zzvips.com替换成//www.zzvips.com,替换方法是: 

update News 
set content = replace(cast(content as varchar(8000)), 
'www.zzvips.com', 
'//www.zzvips.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程序来实现,先读取内容替换后,保存到数据库中。

临时解决方法:就是在生成静态的时间,可以先替换再输出,这里有个貌似不错的解决方法了,大家可以看下一篇文件啊。 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
运维必须知道的关于云服务器的十个问题
运维必须知道的关于云服务器的十个问题 2019-05-24
返回顶部