sql ntext數據類型字符替換

来源:互联网 发布:软件测试教程推荐 编辑:程序博客网 时间:2024/05/17 07:49
---ntext數據類型字符替換  ---2011-08-21 塗聚文 深圳大運會期間,政府貼出"溫馨提示",交通管制,世界之窗周邊不充許到陽台觀看,出入憑身份證create table tt(  sid  INT IDENTITY(1,1),  cont ntext)goinsert into tt(cont) values(N'fd sad fdsa 塗聚文工團 締友計算機信息技術有限公司 可能性    桔柑 ')goupdate tt set cont='fd sad fdsa 塗聚文工團 可能性 締友計算機信息技術有限公司   桔柑 ' where sid=1--去空格EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'--sp_dboption 'pubs', 'select into/bulkcopy', 'true'GODECLARE @ptrval binary(16),@i int,@k int,@f intselect @i=datalength(cont) from tt where sid=1set @k=1while @i>1begin    select @f=CHARINDEX(SPACE(1),cont) from tt where sid=1  ---SPACE(1)    set @f=@f-1    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1 if @f>0          UPDATETEXT tt.cont @ptrval @f 1 null  if @k=@i    break  else    set @k=@k+1        continueendGO--sp_dboption 'pubs', 'select into/bulkcopy', 'false'EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'false'GOSELECT * FROM tt---換英文字母EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'GODECLARE @ptrval binary(16),@i int,@k int,@f intselect @i=datalength(cont) from tt where sid=1set @k=1while @i>1begin    select @f=CHARINDEX('sad',cont) from tt where sid=1  ---SPACE(1)    set @f=@f-1    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1 if @f>0          UPDATETEXT tt.cont @ptrval @f 3 'ggg'  if @k=@i    break  else    set @k=@k+1        continueendGOSELECT * FROM tt---中文字母EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'GODECLARE @ptrval binary(16),@i int,@k int,@f intselect @i=datalength(cont) from tt where sid=1set @k=1while @i>1begin    select @f=CHARINDEX('塗聚文',cont) from tt where sid=1  ---SPACE(1)    set @f=@f-1    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1 if @f>0          UPDATETEXT tt.cont @ptrval @f 6 '塗斯博'  if @k=@i    break  else    set @k=@k+1        continueendGOSELECT * FROM ttEXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'GODECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len intset @change=N'sad' --要替換的字符--set @len=datalength(@change)set @len=len(@change)set @newstr=N'ggg' --替換成的字符select @i=datalength(cont) from tt where sid=1set @k=1while @i>1begin    select @f=CHARINDEX(@change,cont) from tt where sid=1  ---SPACE(1)    set @f=@f-1    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1 if @f>0          UPDATETEXT tt.cont @ptrval @f @len @newstr  if @k=@i    break  else    set @k=@k+1        continueendGOSELECT * FROM ttEXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'GODECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len intset @change=N'塗聚文' --要替換的字符--set @len=datalength(@change) --用此會出錯set @len=len(@change)set @newstr=N'塗斯博' --替換成的字符select @i=datalength(cont) from tt where sid=1set @k=1while @i>1begin    select @f=CHARINDEX(@change,cont) from tt where sid=1  ---SPACE(1)    set @f=@f-1    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1 if @f>0          UPDATETEXT tt.cont @ptrval @f @len @newstr  if @k=@i    break  else    set @k=@k+1        continueendGOSELECT * FROM ttupdate tt set cont='fd sad fdsa 塗聚文工團 可能性  締友計算機信息技術有限公司  桔柑 ' where sid=1select datalength('塗聚文')select len('塗聚文')select datalength('sad')select len('sad')select len(SPACE(1))EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'DECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len intset @change=N'塗聚文' --要替換的字符--set @len=datalength(@change) --用此會出錯set @len=len(@change)set @newstr=N'塗斯博' --替換成的字符select @i=datalength(cont) from tt where sid=1set @k=1while @i>1begin    select @f=CHARINDEX(@change,cont) from tt where sid=1  ---SPACE(1)    set @f=@f-1    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1 if @f>0          UPDATETEXT tt.cont @ptrval @f @len @newstr  if @k=@i    break  else    set @k=@k+1        continueendGOEXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'DECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len intset @change=N'塗聚文' --要替換的字符--set @len=datalength(@change) --用此會出錯set @len=len(@change)set @newstr=N'塗斯博' --替換成的字符select @i=datalength(cont) from tt where sid=1set @k=1while @i>1begin    select @f=CHARINDEX(@change,cont) from tt where sid=1  ---SPACE(1)    set @f=@f-1    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1 if @f>0          UPDATETEXT tt.cont @ptrval @f @len @newstr  if @k=@i    break  else    set @k=@k+1        continueendGO