批量替换ntext字段内容,@textA为要替换的字符串,@textB为替换后的字符串

代码

--批量替换ntext字段内容,@textA为要替换的字符串,@textB为替换后的字符串
--exec P_replace_TableNTEXT 'B_Goods','G_Content','GID','61.152.93.172:888','212.95.33.47'
create proc P_replace_TableNTEXT
(
@tableName varchar(50),
@ColNTEXT varchar(50),
@ColPrimaryKey varchar(50),
@textA nvarchar(500),
@textB nvarchar(500)
)
as
exec('
declare @str varbinary(16),@id int,@position int,@len int
set @len = datalength('''+@textA+''')
declare cursor_replace scroll Cursor
for select textptr('+@ColNTEXT+'),'+@ColPrimaryKey+' from '+@tableName+'
for read only
open cursor_replace
fetch next from cursor_replace into @str,@id
while @@fetch_status=0
begin
select @position=patindex(''%'+@textA+'%'','+@ColNTEXT+') from '+@tableName+' where '+@ColPrimaryKey+'=@id
while @position>0
begin
set @position=@position-1
updatetext '+@tableName+'.'+@ColNTEXT+' @str @position @len '''+@textB+'''
select @position=patindex(''%'+@textA+'%'','+@ColNTEXT+') from '+@tableName+' where '+@ColPrimaryKey+'=@id
end
fetch next from cursor_replace into @str,@id
end
close cursor_replace
deallocate cursor_replace
')
go

时间: 2024-09-01 05:21:11

批量替换ntext字段内容,@textA为要替换的字符串,@textB为替换后的字符串的相关文章

SQL Server中text或ntext 字段内容替换方法

  update 表名 set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值') 1.update ntext: (1)varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超过8000/4000可以先转换成前面两种类型再使用replace. update 表名 set text类型字段名=replace(convert(varchar(8000),text类型字段名),

SQL中NTEXT字段内容显示<long text>的原因_数据库其它

我用ACCESS转换成SQL数据库,其中一个放置文本内容的列他的数据类型为ntext,长度却是16,而且锁定了,不能修改,允许空.  当字符长度过长时(几千个汉字),数据库中对应的字段显示<LONG TEXT>. 当ntext中的文字长度超出了一定限制时就显示<long text>,因为过长数据库将以16进制的方式存放了.就不能直接查看,所以显示为<long text>.可以直接通过sql语句修改.

使用SQL批量替换语句修改、增加、删除字段内容_MsSql

sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符. 命令总解:update 表的名称 set 此表要替换的字段名=REPLACE(此表要替换的字段名, '原来内容', '新内容') 如 UPDATE Whir_ProductRelese SET ReleseName=REPLACE(ReleseName,'http://www.maidq.com','http://maidq.com') 举例说明: 1)把backupfile表里url的字段内容里为htt

使用SQL批量替换语句修改、增加、删除字段内容

sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符. 命令总解:update 表的名称 set 此表要替换的字段名=REPLACE(此表要替换的字段名, '原来内容', '新内容') 如 UPDATE Whir_ProductRelese SET ReleseName=REPLACE(ReleseName,'http://www.maidq.com','http://maidq.com') 举例说明: 1)把backupfile表里url的字段内容里为htt

sqlserver 中ntext字段的批量替换(updatetext的用法)

一.问题描述: 1.在Sql Server 中,ntext/text/image 字段不允许应用replace函数替换内容: 2.通过convert字段转换,可以把ntext字段转换为varchar(8000),然后用Relpace函数替换,不过,此方法,对于字段长度大于8000的ntext字段无效. 二.问题解决 整理通用存储过程,代码如下: 复制代码 代码如下: CREATE procedure [dbo].[Proc_UpdateNTextField] @TargetTable nvarc

模拟字符串处理函数 stuff 处理 Ntext 字段

函数|字符串 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_stuff]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[p_stuff]GO /*--Ntext字段处理  模拟字符串处理函数 stuff 完成表中 ntext 字段的 stuff 处理 注意,表中需要有列名为:id 的主键(或标识字段),数据类型为

模拟字符串处理函数 stuff 的存储过程,对 ntext 字段进行stuff .

存储过程|函数|字符串 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_stuff]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[p_stuff]GO /*--Ntext字段处理 模拟字符串处理函数 stuff完成表中 ntext 字段的 stuff 处理注意,表中需要有列名为:id 的主键(或标识字段),数据类

sql修改字段内容

  1 2 3 --sql 修改字段内容 UPDATE 表 SET 字段=REPLACE(cast(字段 AS varchar(8000)),'被替换的内容','将要替换成的内容') UPDATE t_newsinfo SET [content]=REPLACE(cast([content] AS varchar(max)),'http://admin.thinkall.net.cn/','http://admin.xkpx.com/')

pymssql ntext字段调用问题解决方法_python

下面是调用方式: Example script - pymssql module (DB API 2.0) Example script - _mssql module (lower level DB access) 不过,在我使用过程中,发现,如果表中包含了ntext字段,就会出错,提示 不能用 DB-Library(如 ISQL)或 ODBC 3.7 或更早版本将 ntext 数据或仅使用 Unicode排序规则的 Unicode 数据发送到客户端. 查了一下,发现官方网站有解释: Q: W