将部分字符串放在括号之间

时间:2014-07-06 20:17:25

标签: mysql replace forum

我在替换列中的某些内容时遇到了问题。 我有"帖子"表" post_text"列(MediumText)。

我想替换" 示例: https://www.youtube.com/watch?v=ICaPQLTlguM" [block] ICaPQLTlguM [/ block]。

我被阻止在以下SQL

UPDATE post SET post_text= REPLACE('post_text','https://www.youtube.com/watch?v=','[block]');

如何在[block] [/ block] bralas中封装视频参考ID?

2 个答案:

答案 0 :(得分:1)

这比简单的替换更复杂。也许你想要这个:

UPDATE post
    SET post_text = CONCAT('[block]',
                           substring_index(post_text, '=', -1),
                           '[/block]'
                          );

答案 1 :(得分:0)

您可以使用concat

UPDATE post 
SET post_text=
CONCAT(
  REPLACE(post_text,'https://www.youtube.com/watch?v=','[block]')
  ,'[/block]'
);

Demo