链式 REPLACE 函数在执行一次查询时仅替换一个值

Chained REPLACE functions substitute only one value at one query execution

在 Album_IDs 1 和 8 下的元组中,我想用空值 ('') 替换 'Alternative' 的 'Genre' 字段值。但是当我执行这个 SQL-script 时,它一次只替换一个值。有没有办法保留字符串的一半(即 'Indie' 类型,除了 'Alternative' 及其周围的逗号和空格)并执行脚本,以便一次性替换所有值?我的代码有什么问题?

UPDATE Album
SET Genre = REPLACE(REPLACE(Genre, ', Alternative', ''), 'Alternative, ', '')
WHERE Album_ID < 9

您可以通过 TRIM and REPLACE 使用以下内容:

UPDATE Album
SET Genre = TRIM(TRIM(BOTH ',' FROM TRIM(REPLACE(Genre, 'Alternative', ''))))
WHERE Album_ID < 9

demo: http://sqlfiddle.com/#!9/3c6fe1/1/0