如何从mysql的url字符串中删除文件夹

如何从mysql的url字符串中删除文件夹,mysql,database,Mysql,Database,我试图在MYSQL中构造一个查询,从图像url字符串中删除一个日期文件夹 URL位于数据库中与论坛帖子文本相关的特定字段中,因此在同一字段中还有其他文本 典型的url如下所示: https://images.mywebsite.com/20170215/ab3c2d9b9a9e6364a07573715d29232d.jpg https://images.mywebsite.com/ab3c2d9b9a9e6364a07573715d29232d.jpg 在上面的例子中,我试图删除20170

我试图在MYSQL中构造一个查询,从图像url字符串中删除一个日期文件夹

URL位于数据库中与论坛帖子文本相关的特定字段中,因此在同一字段中还有其他文本

典型的url如下所示:

https://images.mywebsite.com/20170215/ab3c2d9b9a9e6364a07573715d29232d.jpg
https://images.mywebsite.com/ab3c2d9b9a9e6364a07573715d29232d.jpg
在上面的例子中,我试图删除20170215,这是图像上传的日期。基本上,它看起来像:

https://images.mywebsite.com/20170215/ab3c2d9b9a9e6364a07573715d29232d.jpg
https://images.mywebsite.com/ab3c2d9b9a9e6364a07573715d29232d.jpg
显然,有多个文件夹具有不同的日期(文件夹名称)

图像名称是可变的,长度始终为32个字符(加上.jpg ext)

日期文件夹名称是可变的,长度始终为8个字符

表称为“消息” 列称为“body”

url与其他一般文本一起位于正文中


谢谢。

这可能适用于您的情况:

select concat_ws('/',
                 substring_index(url, '/', 4),
                 substring_index(url, '/', -1)
                )
如果文件夹是嵌套的,这将不起作用

另一种方法取决于字符串的长度:

select concat(left(substr(url, length(url, -45)),
              substring_index(url, '/', -1)
             )

您应该使用Mysql函数。只需使用新链接更新链接

您可以显示包含图像的表的结构吗?您尝试了什么?你读了哪些参考页?这不是一个“为我编写代码”的服务。由于这是一个论坛,同一领域中可能还有其他URL需要保持不变,因此这种方法可以起作用。