0

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 でこの種のパターン置換を行う方法はありますか? おそらく正規表現で?

ありがとうございました。

4

1 に答える 1

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() である必要があるかもしれません-あなたはその考えを理解していると確信しています

于 2011-03-04T20:55:30.200 に答える