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

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

时间: 2024-09-13 17:10:16

在SQL SERVER中批量替换字符串的方法的相关文章

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

方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 复制代码 代码如下:update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么') 方法二:(替换其他数据类

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

方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 复制代码 代码如下: update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么') 方法二:(替换其他数据

在SQL Server中使用CLR调用.NET方法实现思路_实用技巧

介绍 我们一起来做个示例,在.NET中新建一个类,并在这个类里新建一个方法,然后在SQL Server中调用这个方法.按照微软所述,通过宿主 Microsoft .NET Framework 2.0 公共语言运行库 (CLR),SQL Server 2005显著地增强了数据库编程模型. 这使得开发人员可以用任何CLR语言(如C#.VB.NET或C++等)来写存储过程.触发器和用户自定义函数. 我们如何实现这些功能呢? 为了使用CLR,我们需要做如下几步: 1.在.NET中新建一个类,并在这个类里

sql server replace 批量替换数据库中指定字段内容

function replace(title) { replace(title,'aaa','bbbb') return(title) } bbb=replace(title) update ..... set title='"&bbb&"' asp教程 access <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.

SQL Server中合并用户日志表的方法

server 在维护SQL Server数据库的过程中,大家是不是经常会遇到成千上万的类似log20050901 这种日志表,每一个表中数据都不是很多,一个一个打开看非常不方便,或者有时候我们需要把这些表中的资料汇总,一个一个打开操作也是很麻烦.下面就介绍了一种自动化的合并表的方法. 我的思路是创建一个用户存储过程来完成一系列自动化的操作,以下是代码. --存储过程我命名为BackupData,可以使用自己定义的名称. --参数1:@TableTarget 生成的目标表的名称 --参数2:@Ta

SQL Server中减小Log文件尺寸的方法分享_MsSql

首先use [数据库名称];exec sp_helpfile; 使用sp_helpfile查询可知道log 文件的逻辑名称,然后就可以利用DBCC来减小LOG文件BACKUP LOG [数据库名] WITH TRUNCATE_ONLYdbcc shrinkfile ([log文件的逻辑名称],1) 这个方法在MS SQL Server 2008 以及MS SQL Server 2008 R2中不再适用,会提示:TRUNCATE_ONLY is not a valid BACKUP option.

SQL Server中减小Log文件尺寸的方法分享

首先use [数据库名称];exec sp_helpfile; 使用sp_helpfile查询可知道log 文件的逻辑名称,然后就可以利用DBCC来减小LOG文件BACKUP LOG [数据库名] WITH TRUNCATE_ONLYdbcc shrinkfile ([log文件的逻辑名称],1) 这个方法在MS SQL Server 2008 以及MS SQL Server 2008 R2中不再适用,会提示:TRUNCATE_ONLY is not a valid BACKUP option.

sql server中批量插入与更新两种解决方案分享(asp.net)_实用技巧

若只是需要大批量插入数据使用bcp是最好的,若同时需要插入.删除.更新建议使用SqlDataAdapter我测试过有很高的效率,一般情况下这两种就满足需求了 bcp方式 复制代码 代码如下: /// <summary> /// 大批量插入数据(2000每批次) /// 已采用整体事物控制 /// </summary> /// <param name="connString">数据库链接字符串</param> /// <param n

sql server中批量插入与更新两种解决方案分享(存储过程)_MsSql

1.游标方式 复制代码 代码如下: DECLARE @Data NVARCHAR(max) SET @Data='1,tanw,2,keenboy' --Id,Name DECLARE @dataItem NVARCHAR(100) DECLARE data_cursor CURSOR FOR (SELECT * FROM split(@Data,';')) OPEN data_cursor FETCH NEXT FROM data_cursor INTO @dataItem WHILE @@F