MySQL通配符替换

时间:2015-06-09 09:24:33

标签: mysql replace wildcard placeholder

我需要MySQL查询的帮助 是否可以对字符串进行一些通配符替换,如下例所示?

字符串: example.com/folderone /some/path/to/file.pdf
字符串: example.com/foldertwo /some/path/to/file.pdf
替换: newsite.com /some/path/to/file.pdf

newsite.com/some/path/to/file.pdf
newsite.com/some/path/to/file.pdf

删除文件夹并更改域但保留路径。在这种情况下,每个文件夹都有不同的名称长度不同

类似的东西:

update TABLE set COLUMN = replace(COLUMN, 'example.com/%/', 'newsite.com/');

1 个答案:

答案 0 :(得分:3)

使用SUBSTRING_INDEX

UPDATE table1 
   SET column1 = REPLACE(
         column1, 
         SUBSTRING_INDEX(column1, '/', 2),
         'newsite.com' 
       )
 WHERE column1 LIKE 'example.com/%/'

这应该尊重您的子文件夹结构。