• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MSSQL批量替换语句 在SQL SERVER中批量_sqlserver

sqlserver 搞代码 3年前 (2018-06-17) 120次浏览 已收录 0个评论

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

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

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

http://www.gaodaima.com/?p=37479MSSQL批量替换语句 在SQL SERVER中批量_sqlserver

复制代码 代码如下:
update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,’原本内容’,’想要替换成什么’)

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

复制代码 代码如下:
update [表名] set 字段名 = replace(与前面一样的字段名,’原本内容’,’想要替换成什么’)

以下是补充:
1。如何批量替换ntext字段里面的数据
问题描述:
我想把数据库中News表中的字段content中的一些字符批量替换。
我的content字段是ntext类型的。

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

update News
set content = replace(cast(content as varchar(8000)),
‘www.jb51.net’,
http://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木马清除助手

欢迎大家阅读《MSSQL批量替换语句 在SQL SERVER中批量_sqlserver》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址