繁体   English   中英

在SQL中使用占位符查找和替换字符串

[英]Find and replace string with placeholders in SQL

是否可以搜索这样的字符串:

http://getfile1.posterous.com/getfile/files.posterous.com/temp-2013-03-30/kBpHaviyoumcvCEHnGnrDfwHwmJIrnqrHrxhCnHwfBIHuDsxbemHlxwEwCdi/IMG_6870.jpg

而某些部分则是占位符,例如:

http://getfile%.posterous.com/getfile/files.posterous.com/temp-2013-03-%/%/IMG_6870.jpg

并替换为:

http://my.domain.com/wordpress/wp-content/uploads/2013/03/IMG_6870.jpg

感谢您的投入!

MySQL对正则表达式的支持非常有限,但是您可以尝试结合使用SUBSTRING_INDEX和REPLACE字符串函数,如下所示:

UPDATE tablename
SET
  url =
  CONCAT(
    'http://my.domain.com/wordpress/wp-content/uploads/',
    REPLACE(
      REPLACE(
        SUBSTRING_INDEX(
          SUBSTRING_INDEX(url, '/', -3),
          '-',
          3),
        'temp-',
        ''),
      '-',
      '/'),
    '/',
    SUBSTRING_INDEX(url, '/', -1));

但是您需要确保所有字符串都具有相同的格式。 请看这里的小提琴。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM