Удалить некоторую часть строки из базы данных (значение в наборе строки базы данных)

Я хочу удалить часть моей строки в MySQL. как это:

мой ряд: 1,2,3,4

Я хочу сделать это: 1,2,3

Как мне это сделать?

Я знаю, что это можно сделать с помощью этого кода, но есть ли лучший способ?

UPDATE Table SET message = REPLACE(message, ",4", "") WHERE id = 1;

1

Решение

Так что это будет работать.

UPDATE Table SET message = CASE
WHEN message LIKE '4,%'
THEN // enter code here to replace '4,' in message with ''
WHEN message LIKE '%,4,%'
THEN // enter code here to replace ',4,' in message with ','
WHEN message LIKE '%,4'
THEN // enter code here to replace ',4' in message with ''
ELSE // this means all other occurances of 4 like 14,41,44,etc do nothing here or skip this else condition
END;
3

Другие решения

В целях безопасности сначала тестируйте код на тестовом сервере.

Если вы замените, 4, MySQL заменит, тоже 40

вы должны изменить строку

,1,2,3,4,

и вы должны заменить, 4,

0

По вопросам рекламы [email protected]