Связанные функции REPLACE заменяют только одно значение при выполнении одного запроса - PullRequest
0 голосов
/ 07 мая 2018

В кортежах под Album_IDs 1 и 8 я хочу заменить значения поля «Жанр» «Альтернатива» на пустоту («»). Но когда я выполняю этот SQL-скрипт, он заменяет только одно значение одновременно. Есть ли способ оставить половину строки (а именно, жанр «инди», кроме «альтернативы» и запятых и окружающих ее пробелов) и выполнить сценарий, чтобы все значения были заменены при высокой температуре? А что не так с моим кодом?

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

enter image description here

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете использовать следующее, используя TRIM и REPLACE:

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

демо: http://sqlfiddle.com/#!9/3c6fe1/1/0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...