电脑安全

您当前的位置:主页 > 电脑安全 >

sql ntext替换与批量替换方法-网络编程

来源:[db:来源]标题:   字符    编辑:电脑技术全能网 时间:2019-09-23 06:22

原标题:sql ntext替换与批量替换方法-网络编程
   一款mssql server 的ntext字段外面数据调换ntext长度可变的 Unicode 数据,最大长度为 2^30 - 1 (1,073,741,823) 个字符。存储巨细是所输出字符个数的两倍(以字节为单元)。ntext 的 ISO 同义词为 national text。他和text差别

---ntext数据范例字符调换create table tt ( sid INT IDENTITY(1,1), cont ntext ) goinsert into tt(cont) values(N'fd sad fdsa 涂聚文工团 缔友盘算机信息技巧无限公司 能够性 桔柑 ') go update tt set cont='fd sad fdsa 涂聚文工团 能够性 缔友盘算机信息技巧无限公司 桔柑 ' where sid=1--去空格 EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true' --sp_dboption 'pubs', 'select into/bulkcopy', 'true' GO DECLARE @ptrval binary(16),@i int,@k int,@f int select @i=datalength(cont) from tt where sid=1 set @k=1 while @i>1 begin 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 continue end GO --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'GO DECLARE @ptrval binary(16),@i int,@k int,@f int select @i=datalength(cont) from tt where sid=1 set @k=1 while @i>1 begin 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 continue end GO SELECT * FROM tt---中笔墨母 EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true' GO DECLARE @ptrval binary(16),@i int,@k int,@f int select @i=datalength(cont) from tt where sid=1 set @k=1 while @i>1 begin 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 continue end GO SELECT * FROM ttEXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true' GO DECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len int set @change=N'sad' --要调换的字符 --set @len=datalength(@change) set @len=len(@change) set @newstr=N'ggg' --调换成的字符 select @i=datalength(cont) from tt where sid=1 set @k=1 while @i>1 begin 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 continue end GO SELECT * FROM ttEXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true' GO DECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len int set @change=N'涂聚文' --要调换的字符 --set @len=datalength(@change) --用此会犯错 set @len=len(@change) set @newstr=N'涂斯博' --调换成的字符 select @i=datalength(cont) from tt where sid=1 set @k=1 while @i>1 begin 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 continue end GO SELECT * FROM ttupdate tt set cont='fd sad fdsa 涂聚文工团 能够性 缔友盘算机信息技巧无限公司 桔柑 ' where sid=1 select 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 int set @change=N'涂聚文' --要调换的字符 --set @len=datalength(@change) --用此会犯错 set @len=len(@change) set @newstr=N'涂斯博' --调换成的字符 select @i=datalength(cont) from tt where sid=1 set @k=1 while @i>1 begin 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 continue end GOEXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true' DECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len int set @change=N'涂聚文' --要调换的字符 --set @len=datalength(@change) --用此会犯错 set @len=len(@change) set @newstr=N'涂斯博' --调换成的字符 select @i=datalength(cont) from tt where sid=1 set @k=1 while @i>1 begin 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 continue end GO

上一篇:php+Smarty的缓存操作-网络编程

下一篇:没有了