在SQL中将REPLACE函数与UPDATE SET一起使用

时间:2018-10-07 16:40:44

标签: mysql sql phpmyadmin

我正在通过phpmyadmin使用MySQL。
我正在尝试编写一个SQL查询,该查询检查表“ wp_posts”中的列“ post_content”以及该字段中是否存在以下内容:“ bla bla bla something-150x22 .png ...等”,则必须替换为:“ bla bla bla something.png ...等”。即:必须删除“ -150x44”。
可以使用以下sql查询来完成此操作:

UPDATE wp_posts
    SET post_content = replace(post_content, '-150x44.png', '.png')
    WHERE post_content LIKE '%150x44.png%'

但是问题是我们不确定要删除的子字符串是否始终为“ -150x44”。我们可以确定的是,仅在x后面有两位数字,但不一定总是“ 44”。

我尝试了以下查询:

UPDATE wp_posts
    SET post_content = replace(post_content, '-150x__.png', '.png')
    WHERE post_content LIKE '%150x__.png%'

但这不起作用!

问题一定是在WHERE之前的部分,因为当我使用时:

SELECT *
FROM wp_posts
WHERE post_content LIKE "%150x__.png%"

我确实获得了所有必须纠正的行。

0 个答案:

没有答案