如何在sql中替换Wildcard url?

时间:2018-02-05 21:55:29

标签: mysql sql

我想将所有以https://oneweburl.com/cm开头的网址替换为https://anotherwebsite.com

即。诸如

之类的URL
https://oneweburl.com/cm/9304/434
https://oneweburl.com/cm/849/495/34
https://oneweburl.com/cm/2994/234/54

将仅替换为https://anotherwebsite.com。到目前为止我已经尝试了

update wp_posts 
set post_content = 
    replace(post_content, 'https://oneweburl.com/cm/%', 'https://anotherwebsite.com');

显然那不起作用。有没有想过SQL来实现这个目标?谢谢!

1 个答案:

答案 0 :(得分:2)

在大多数情况下,您应该能够:

update wp_posts
    set post_content = replace(post_content, 'https://oneweburl.com/cm/', 'https://anotherwebsite.com/')
    where post_content like 'https://oneweburl.com/cm/%';

这适用于任何数据库。

唯一的问题是post_content字符串中是否有多个网址。这将替换指定字符串的所有匹配项。如果这是一个问题,你可以做字符串操作来做正确的事情。唉,那些往往依赖于特定的数据库。