Я хочу заменить конкретные числа точным совпадением в значениях запятой в таблице Mysql с столбцом запроса.
Например, значение равно: 0,40,140,240,340,440
и теперь я хочу заменить 40 на 50, тогда результат будет: 0,50,140,240,340,440
Обратите внимание, что тип данных в этой колонтитуле - "Текст".
Я согласен с вышеприведенными замечаниями, что это не очень хороший способ хранить эти данные, но я знаю, что иногда требования к бизнесу требуют от нас сделать что-то менее оптимальное. Итак, в этом духе вы можете написать SQL, который:
Выполнение шагов один и три позволит вам всегда предполагать, что все записи начинаются и заканчиваются запятыми, чтобы вы случайно не изменяли 140-150 или 400-500. Таким образом, это выглядело бы примерно так:
SUBSTRING(REPLACE(',' + test + ',', ',40,', ',50,'), 2, LEN(test))
Когда я попробовал это на вашей строке, результат был "0,50,140,240,340,440".
UPDATE <table> set <field> = SUBSTRING(REPLACE(',' + <field> + ',', ',40,', ',50,'), 2, LENGTH(<field>) where id=1