我们在数据库中有多个网址,如:
http://www.example.com/_73737337/dir1/dir2/image.jpg
http://www.example.com/_892/direc/picture.png
http://www.example.com/_029929292929/dir/did/dic/dif/gallery.gif
所有不同长度的路径,不同的目录等。我需要的是将文件名保留在最后并用新的域和目录替换它之前的所有内容。
例如:
http://www.example.com/_73737337/dir1/dir2/image.jpg
将成为:
http://www.newexample.com/images/image.jpg
AND
http://www.example.com/_029929292929/dir/did/dic/dif/gallery.gif
将成为:
http://www.newexample.com/images/gallery.gif
有没有办法通过查询数据库来做到这一点?大约有3000个网址需要更新。
这些网址位于内容中,而不是数据库中的独立条目。因此,查询必须从内容字段中选择它们并忽略其余内容。
答案 0 :(得分:2)
你可以使用SUBSTRING_INDEX()和' /'作为分隔符。
示例强>
SELECT SUBSTRING_INDEX(image_url, '/', -1) AS filename
FROM table_name
以下是该功能文档的链接: https://www.w3resource.com/mysql/string-functions/mysql-substring_index-function.php