当前位置:IT168首页 > 技术开发 > 概述
[收藏此页] [打印] [推荐] [评论]

SQL SERVER 2005中Text类型的文本替换

责任编辑:nancy作者:ITPUB论坛   2008-07-03   
文本Tag: 微软 sql

【IT168技术文档】

  Text类型的数据一般不同于字符串类型的数据,由于它的Size比较大,它的数据并不存在与Row中(当然你也可以用text in row指定它存于row中)。在Row中的只是它的一个指针。因此不能在存储过程中定义Text的局部变量,也不能用REPLACE方法来替换字符。如果要实现替换字符的功能,要写一个存储过程。
CREATE TABLE #temp (rowid int,textcol ntext) INSERT INTO #temp values (1,'aaa bbb ccc ddd eee') INSERT INTO #temp values (2,'aaa bbb cc ddd eee') INSERT INTO #temp values (3,'fff ggg ccc iii jjj') DECLARE @from nvarchar(100), @to nvarchar(100), @pos int, @len int, @rowid int DECLARE @ptrval binary(16) SET @from='ccc' SET @to='hhh' SET @len = LEN(@from) SET @rowid = 0 SELECT @rowid = rowid,@pos = CHARINDEX(@from,textcol)-1 FROM #temp WHERE CHARINDEX(@from,textcol) > 0 WHILE (@rowid > 0) BEGIN SELECT @ptrval = TEXTPTR(textcol) FROM #temp WHERE rowid = @rowid UPDATETEXT #temp.textcol @ptrval @pos @len @to SET @rowid = 0 SELECT @rowid = rowid,@pos = CHARINDEX(@from,textcol)-1 FROM #temp WHERE CHARINDEX(@from,textcol) > 0 END SELECT * FROM #temp DROP TABLE #temp
上一页
1
下一页
收藏到: 添加到“百度搜藏”添加到“QQ书签”添加到“Google书签”添加到“Yahoo收藏”添加到“和讯网摘”
【内容导航】
本文欢迎转载,转载请注明:转载自IT168 [ http://www.it168.com/ ]
本文链接:http://tech.it168.com/d/2008-07-03/200807030934262.shtml
技术开发相关文章  
  • 暂无
友情推介