我正在尝试将MySql数据库中旧BB标记标记的所有实例替换为稍微不同的新标记。
旧格式是这个......
[youtube:********]{Video ID}[/youtube:********]
我想用这个代替...
[youtube:********]http://www.youtube.com/watch?v={Video ID}[/youtube:********]
*是随机的字母数字字符串。因此,REPLACE(feild, '[youtube:********]', '[youtube:********]http://www.youtube.com?watch?v=
简直不会这样做。
我使用REPLACE()
和INSTR()
进行的所有笨拙尝试都导致了令人讨厌的事情,例如[b]Bold Text[/b]http://www.youtube.com/watch?v=
有没有办法在MySql中进行这种模式替换?可能使用正则表达式?
谢谢。
答案 0 :(得分:1)
这是你试过的吗?
UPDATE table SET Field = REPLACE(Field,']{',']http://www.youtube.com/watch?v={')
如果没有任何其他的'] {'
出现,这将取决于编辑:您可能还想尝试:
UPDATE table SET Field = LEFT(Field,#) + 'http://www.youtube.com/watch?v='+
RIGHT(Field,(Char_Length(Field)-#);
只需使用MYSQl文档检查语法。 Char_LNEGTH()可能需要LENGTH() - 我确定你明白了