替换sql中ntext类型数据中的某个字符方法和技巧
来源:互联网 发布:上海跳跃网络 中青宝 编辑:程序博客网 时间:2024/04/29 14:01
在一个数据类型为ntext的字段内有几个字符[比如"开心"]我想让所有的"开心"都换成"你好"要怎么做!不可以用Replace函数.因为它不支持ntext类型.数据的转换也行不通.我的数据长度超过了4000.会丢失数据.
这个问题要怎么解决?
愁了好久!
用什么方法都可以.
方法1,
--替换处理
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
方法2,
一、如果你的字段abc值长度小于8000,可以用以下代码:
update aaa set abc=replace(convert(varchar(8000),abc),'ccc','')
replace 无法对text,ntext,image类型的数据操作.
declare @x int,@y int
set @y=len('ccc')
update AAA set @x=charindex('ccc',abc),
abc= substring(abc,1,@x-1)+substring(abc,@x+@y,datalength(abc))
go
该文章转载自网络大本营:http://www.xrss.cn/Dev/DataBase/20084318974.Html
- 替换sql中ntext类型数据中的某个字符方法和技巧
- sql中替换字段中的某个字符
- ntext中字符的替换
- sql批量替换字段中的某个字符
- SQL中ntext、text 或 image 类型数据的处理
- SQL中的REPLACE替换字符函数的用法(使之支持text/ntext) (2
- SQL中的REPLACE替换字符函数的用法(使之支持text/ntext)
- 在SQL 中 ntext和text类型的的区别
- 如何用SQL语句替换字段中的某个字符
- mysql 替换某个字段中的某个字符
- mysql 替换某个字段中的某个字符
- mysql 替换某个字段中的某个字符
- mysql 替换某个字段中的某个字符
- mysql 替换某个字段中的某个字符
- 替换NText字段数据
- Sql Server 中 text或ntext 字段内容替换方法总结
- SQL中替换字符的方法
- SQL中替换字符的方法
- Hal Fulton: 我爱 Ruby 的三十七个理由
- 国际象棋“皇后”问题的回溯算法
- TIBCO中国胡长城谈:中国企业工作流应用
- 长整数的基本操作
- Python Cookbook 第二版 汉化版 [Recipe 1.3] 测试一个对象是否为 String-like 对象
- 替换sql中ntext类型数据中的某个字符方法和技巧
- 访企业工作流管理专家胡长城有感
- 插花问题的“动态规划法”算法
- 用长整数求取普通整数的阶乘
- 矿泉水网络又一天:思考网络媒体的自由度
- Python Cookbook 第二版 汉化版 [Recipe 1.2] 字符与其对应的数字编码之间的转换
- 2007年值得去思考的N大软件技术(1)
- 求自然数的组合数的回溯算法
- Python Cookbook 第二版 汉化版 [01-Introduction]