;
WITH RowSetToUpdate AS (
SELECT
acolumn,
Asterisk1Pos = CHARINDEX('*', acolumn),
Asterisk2Pos = CHARINDEX('*', acolumn, CHARINDEX('*', acolumn) + 1)
FROM atable
WHERE acolumn LIKE '%*%*%'
)
UPDATE RowSetToUpdate
SET acolumn = STUFF(
acolumn,
Asterisk1Pos + 1,
Asterisk2Pos - Asterisk1Pos - 1,
'replacement_string'
)
Hoặc nếu đó là một số cụ thể cần được thay thế, thì nó sẽ đơn giản hơn:
UPDATE atable
SET acolumn = REPLACE(acolumn, '*88*', '*replacement_string')
WHERE acolumn LIKE '%*88*%'