手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >sql ntext数据类型字符替换实现代码
sql ntext数据类型字符替换实现代码
摘要:复制代码代码如下:---ntext数据类型字符替换createtablett(sidINTIDENTITY(1,1),contntext)g...

复制代码 代码如下:

---ntext数据类型字符替换

create table tt

(

sid INT IDENTITY(1,1),

cont ntext

)

go

insert 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'

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('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 tt

EXEC 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 tt

EXEC 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 tt

update 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

GO

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

GO

【sql ntext数据类型字符替换实现代码】相关文章:

SQLite数据库

数据库中的内容字段被挂马的替换方法 SQL注入

sql server 临时表 查找并删除的实现代码

SQL server 2008 数据安全(备份和恢复数据库)

sqlserver 复制表 复制数据库存储过程的方法

Access 数据类型与 MS SQL 数据类型的相应

sql server 常用的几个数据类型

SQL Server 数据库清除日志的方法

SQL2005中char nchar varchar nvarchar数据类型的区别和使用环境讲解

ACCESS数据库的压缩,备份,还原,下载,删除的实现

精品推荐
分类导航