SQL Server数据库中批量替换数据的方法

SQL Server数据库操作中,我们可能会根据某写需要去批量替换数据,那么如何批量修改替换数据呢?本文我们就介绍这一部分内容,接下来就让我们一起来了解一下吧……

 

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

  关于SQL Server数据库中批量替换数据的方法的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

posted @ 2011-11-21 16:14  xyzhuzhou  阅读(7037)  评论(0编辑  收藏  举报