在SQL查询中执行正则表达式(替换)
发布时间:2020-12-12 16:14:51 所属栏目:MsSql教程 来源:网络整理
导读:什么是最好的方法来替换所有的 lt lt在给定的数据库列?基本上执行s / lt [^;] / lt; / gi 笔记: 必须在 MS SQL Server 2000工作 必须是可重复的(而不是最终得到’;;;;;;;;) 解决方法 一些黑客需要,但我们可以用LIKE,PATINDEX,LEFT AND RIGHT和良好的旧字符
什么是最好的方法来替换所有的& lt<& lt<在给定的数据库列?基本上执行s /& lt [^;] /& lt; / gi 笔记:
>必须在 MS SQL Server 2000工作 >必须是可重复的(而不是最终得到&’;;;;;;;;) 解决方法一些黑客需要,但我们可以用LIKE,PATINDEX,LEFT AND RIGHT和良好的旧字符串连接来做到这一点.create table test ( id int identity(1,1) not null,val varchar(25) not null ) insert into test values ('< <- ok,< <- nok') while 1 = 1 begin update test set val = left(val,patindex('%<[^;]%',val) - 1) + '<' + right(val,len(val) - patindex('%<[^;]%',val) - 2) from test where val like '%<[^;]%' IF @@ROWCOUNT = 0 BREAK end select * from test 更好的是,这是SQL Server版本不可知,应该工作正常. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |