首页 > 解决方案 > 删除字符串中的子目录的sql查询

问题描述

我想做一个更新查询,更改具有不同日期样式目录的多个条目的图像路径。基本上每个单独的图像都在一个以特定日期标记命名的文件夹中

所以它们都是相同长度的字符。

所以它会从这里更新数据库中的行

/wp-content/uploads/20180711125044/sample.jpg
/wp-content/uploads/20180812125044/sample_2.jpg

对此:

/wp-content/uploads/sample.jpg
/wp-content/uploads/sample_2.jpg

(删除“上传”和“jpg”名称之间的文件夹)

标签: mysql

解决方案


您可以使用SUBSTRING_INDEX()

SET @val ='/wp-content/uploads/20180711125044/sample.jpg';
SELECT
  CONCAT(
    SUBSTRING_INDEX(@val, '/uploads/', 1),
    '/uploads/',
    SUBSTRING_INDEX(@val, '/', -1)
  ) AS result;

请参阅演示


推荐阅读