[英]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.