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

时间:2018-05-07 19:51:57

标签: mysql sql replace sql-scripts

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

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

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用TRIMREPLACE

来使用以下内容
UPDATE Album
SET Genre = TRIM(TRIM(BOTH ',' FROM TRIM(REPLACE(Genre, 'Alternative', ''))))
WHERE Album_ID < 9
  

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