SQL查詢中用replace替換ntext,text字段的各種方法總結

方法一(推薦):
update tablename set fieldA=replace(cast(fieldA as varchar(8000)) ,'aa','bb')這樣的語句。
SQL中replace替換ntext,text字段部分內容使用說明:replace(cast(fieldA as varchar(8000)) ,'aa','bb')

方法二:
支持text字段處理的僅有:下面的函數和語句可以與 ntext、text 或 image 數據一起使用。
函數 語句
DATALENGTH READTEXT
PATINDEX SET TEXTSIZE
SUBSTRING UPDATETEXT
TEXTPTR WRITETEXT
TEXTVALID

主題:text字段
1:替換

--創建數據測試環境
create table #tb(aa text)
insert into #tb select 'abc123abc123,asd'

--定義替換的字符串
declare @s_str varchar(8000),@d_str varchar(8000)
select @s_str='123' --要替換的字符串和芯
,@d_str='000'--替換成的字符串

--字符串替換處理
declare @p varbinary(16),@postion int,@rplen int
select @p=textptr(aa),@rplen=len(@s_str),@postion=charindex(@s_str,aa)-1 from #tb
while @postion>0
begin
updatetext #tb.aa @p @postion @rplen @d_str
select @postion=charindex(@s_str,aa)-1 from #tb
end

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章