数据库 
首页 > 数据库 > 浏览文章

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

(编辑:jimmy 日期: 2024/12/24 浏览:3 次 )
方法一:(这种是最常用的,因为很多大段的内容都使用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.jb51.net替换成https://www.jb51.net,替换方法是:

update News
set content = replace(cast(content as varchar(8000)),
'www.jb51.net',
'https://www.jb51.net')

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程序来实现,先读取内容替换后,保存到数据库中。

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

如果不熟悉sqlserver的朋友可以用软件来实现
sqlserver 数据库批量替换工具(数据库及文本文件查找替换) v1.0中文绿色版

SQLServer 数据库批量查找替换工具1.2 SQL木马清除助手
上一篇:SQL 时间格式化函数
下一篇:全国省市区县最全最新数据表(数据来源谷歌)
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?