Заменить в базе данных MySQL - PullRequest
       5

Заменить в базе данных MySQL

2 голосов
/ 17 августа 2011

У меня есть вопрос о замене определенной строки в MySQL, но одна часть строки меняется каждый раз, например,

"(my string to replace 1224:2)"
"(my string to replace 134:4)"
"(my string to replace 1824:9)"
"(my string to replace 14:2)"

Я могу изменить первую часть строки, используя этот запрос

update dle_post set short_story = replace(short_story,'(my','( my');

но как заменить другие детали, такие как 1224:2), или 14:2), или любую другую деталь, которая заканчивается числом 1,2,3.. и ).Я не могу использовать скобку ")", потому что она используется во многих других местах.

Ответы [ 2 ]

1 голос
/ 17 августа 2011

Не самый элегантный способ, но ...

update dle_post 
set short_story = 
    replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
    short_story,
    '0)','0 )'),'1)','1 )'),'2)','2 )'),'3)','3 )'),'4)','4 )'),'5)','5 )'),'6)','6 )'),'7)','7 )'),'8)','8 )'),'9)','9 )');
0 голосов
/ 17 августа 2011

Регулярные выражения должны работать в этом случае. Взгляните на связанный вопрос: Как заменить регулярное выражение в MySQL?

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