问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何替换sql中ntext类型数据中的某个字符?

发布网友 发布时间:2022-04-21 02:00

我来回答

3个回答

热心网友 时间:2022-04-11 19:09

很简单么,不是你的ntext字段容量的问题,这种类型的字段可以放2g的数据.
真正的原因是你在插入文章的时候,没有对文章内容中的单引号进行处理,这样导致的结果就是,insert语句中遇到单引号就结束了,所以这条sql语句会出错.
解决的方法是插入数据之前,把文章内容中的单引号替换成两个单引号就可以了,比如:
dim
content
content
=
replace(content,"'","''")

热心网友 时间:2022-04-11 20:27

--替换处理
declare @s_str nvarchar(4000),@r_str nvarchar(4000)
select @s_str='开心' --要替换的字符串
,@r_str='你好' --替换成该字符串

--替换处理
declare @id int,@ptr varbinary(16)
declare @start int,@s nvarchar(4000),@len int
declare @s_str1 nvarchar(4000),@s_len int,@i int,@step int

select @s_str1=reverse(@s_str),@s_len=len(@s_str)
,@step=case when len(@r_str)>len(@s_str)
then 4000/len(@r_str)*len(@s_str)
else 4000 end

declare tb cursor local for
select id,start=charindex(@s_str,[content])-1
from [tb]
where id=2 --替换id=1的记录
and charindex(@s_str,[content])>0

open tb
fetch tb into @id,@start
while @@fetch_status=0
begin
select @ptr=textptr([content])
,@s=substring([content],@start+1,@step)
from [tb]
where id=@id

while len(@s)>=@s_len
begin
select @len=len(@s),@i=charindex(@s_str1,reverse(@s))
if @i>0
begin
select @i=case when @i>=@s_len then @s_len else @i end
,@s=replace(@s,@s_str,@r_str)
updatetext [tb].[content] @ptr @start @len @s
end
else
set @i=@s_len
select @start=@start+len(@s)-@i+1
,@s=substring([content],@start+1,@step)
from [tb]
where id=@id
end
fetch tb into @id,@start
end
close tb
deallocate tb
go
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
联想Z470AM I5处理器与I3 联想ideapad z470 独显默认设置是什么 联想Z470 I5处理器 GT520M的显卡跟普通的GT520M显卡有什么区别 性能怎 ... 我新买了一台联想z470 i3-2310 但是朋友说显卡不太好!! 我玩天龙八部... 联想的z470笔记本 上面 的独显GT520M 能不能 更换 或者是升级阿? ...我的是双显卡的 z470- i5 显卡是 gt520m 能换吗 vivo手机耳机麦克风说话声音小 耳机通话声音小是怎么回事 为什么我手机耳机的麦克风声音很小怎么调 求:7个字的情侣游戏名,纯汉字,有诗意的(不要古诗)。不带任何符号或英文... qq下载好了,不能上,连接超时请重试错误代码82945,跪求答案。 unity3d有哪些优势和劣势 ntext与text的区别? unity3d是什么东西 text与ntext的区别 unity3d 是什么东西 qq下载好了,不能上,连接超时请重试错误代码82945,跪求答案。 SQL server 2000中nvarchar和ntext数据类型有何区别? 为什么ntext数据类型 只能插入有限的字符数? 请问数据SQL库中ntext表示那种字段类型? SQL数据库中数据类型ntext和text的区别 数据库里的ntext类型,对应的数据类型是什么啊。 银行自动转存是什么意思 定期存款到期后会自动转为活期吗 建设银行定期存款到期后会自动转存吗 存折定期到期会自动转存吗 定期存款会自动打回卡上吗? 定期存款到期后会自动转为活期帐户吗? 定期存款到期了,会不会自动返回到银行卡里? 谁来解释下unity3d是什么? 对于局部变量,text、ntext 和 image 数据类型无效 unity和unity3D的区别 电脑里Unity 3D是什么意思? SQL中ntext存储这个内容如何编码和解码,规则是什么 sql server中的成绩字段的数据类型一般是什么? unity3d文件 是什么文件 Delphi中怎样使用SQL server上的ntext类型数据? 电脑上有一个后缀名为unity3d的文件怎么打开啊 Unity3d都能做什么游戏啊? 能具体说说嘛,如果我学的话,做到什么程度? sql server 2000 ntext 字段对应oracle那个字段? unity3d 和 maya 有什么区别? sql数据类型有哪些? 大神请进,3dmax和unity3d这俩软件有区别吗? 怎么查看SQL数据库中Ntext类型数据的全部内容?? 电脑里的US是什么意思?~(不是USB)~谢谢~ Unity3d 和 Cocos2dx有什么区别 修改SQL Server2000中NTEXT的问题 在电脑中Us表示什么 提问unity3d和unity2d 有什么区别