Yêu cầu một số hack nhưng chúng tôi có thể thực hiện việc này bằng LIKE , PATINDEX , TRÁI VÀ QUYỀN và nối chuỗi cũ tốt.
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
Tốt hơn là đây là phiên bản SQL Server bất khả tri và sẽ hoạt động tốt.