SqlServer 中修改ntext,text字段的值

xiaoxiao2022-06-14  58

--定义替换的字符串 declare @s_str varchar(8000),@d_str varchar(8000),@id varchar(3) select @id='6' [color=green]--要替换的记录id [/color] ,@s_str='ItemName' [color=green] --要替换的字符串[/color] ,@d_str='itemName' [color=green]--替换成的字符串 [/color] --因为只能用patindex,所以对于搜索字符串做处理 set @s_str='%'+@s_str+'%' [color=darkred]while @id<15 --当需要循环时 需要加上这三句 此例是循环6-15 之间所有记录 begin set @id=@id+1[/color] --字符串替换处理 declare @p varbinary(16) ,@p1 int,@p2 int ,@rplen int,@step int,@len int select @p=textptr(xmlData) [color=green]--ntext字段的名称 用textptr函数返回[/color] ,@rplen=len(@s_str)-2 [color=green]--要替换的长度 此例中为 8 (“-2”去掉两个%的位置)[/color] ,@step=len(@d_str) ,@p1=patindex(@s_str,xmlData) [color=green]--要替换数据在ntext字段中的起始位置[/color] ,@len=datalength(xmlData) --ntext字段的长度 ,@p2=0 [color=green]--要替换的起始列 (此处为0 表示在开始位置插入字符 )[/color] from op_xmlData where projSerialId=@id [color=indigo] --{ op_xmlData }需要替换成数据库名 { projSerialId }需要替换[/color] while @p1>0 begin set @p2=@p1+@p2-1 [color=blue]--[ @p2=@p1+@p2-1] 不需要修改 功能未知[/color] updatetext op_xmlData.xmlData @p @p2 @rplen @d_str [color=indigo] -- {op_xmlData.xmlData }需要替换[/color] select @p2=@p2+1,@p1=patindex(@s_str,substring(xmlData,@p2+1,@len)) [color=blue]-- [ @p2=@p2+1 ] 不需要修改 功能未知 [/color] [color=indigo]{xmlData}需要替换成ntext类型的字段[/color] from op_xmlData where projSerialId=@id [color=indigo]--{ op_xmlData }需要替换成数据库名 { projSerialId }替换成数据库的字段[/color] end [color=darkred]end --循环时需要添加这句[/color] select substring(xmlData,patindex('%ItemName%',xmlData)-1,16) as p from op_xmlData where projSerialId=6 [color=green] --查看一下修改后的信息[/color] ---------------关于开关自增类型的id---------------------- SET IDENTITY_INSERT [OP_J_Projects] ON insert into OP_J_Projects (Id,projectCode,projectName) values (206,'2009','123') SET IDENTITY_INSERT [OP_J_Projects] OFF 相关资源:SQL Server 中 text或ntext 字段内容替换方法
转载请注明原文地址: https://www.6miu.com/read-4936660.html

最新回复(0)