在mysql数据库中替换

时间:2011-08-17 08:50:38

标签: mysql replace

我有一个关于在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 个答案:

答案 0 :(得分:1)

不是最优雅的方式,但是......

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 )');

答案 1 :(得分:0)

正则表达式应该适用于这种情况。看看相关问题:How to do a regular expression replace in MySQL?