0

我有一个表,我需要从特定字段中删除特定文本。此字段包含图像的完整 URL,我需要删除 URL 并仅保留图像文件名。

所以:当前日期:字段名:www.example.com/photo.jpg 我想要做的是从该字段的所有条目中删除 www.example.com/。

我知道如何使用搜索和替换功能,但我不知道如何保持部分数据完好无损。

这是我使用过的,但无法修改它以使其按我想要的方式工作:

UPDATE table SET oc_upload1 = REPLACE(oc_upload1,'newtext') WHERE oc_upload1 LIKE "oldtext"

这可能吗?如果是这样,怎么做?谢谢!

4

1 回答 1

3

这应该这样做:

UPDATE table
SET image = REPLACE(image, 'www.example.com/','')

但是,图像可能包含“www.example.com/”作为图像文件名的一部分,以便更加安全并仅替换第一次出现的 www.example.com

UPDATE table
SET image = SUBSTRING(image, LENGTH('www.example.com/') + 1)
WHERE image LIKE 'www.example.com/%'

但是如果你真的,真的只是想要文件名而不是文件路径你也可以使用:

UPDATE table
SET image = SUBSTRING_INDEX(image,'/',-1)

请注意,上述语句会将“www.example.com/images/01/02/daisy.jpg”更改为“daisy.jpg”,而不是“images/01/02/daisy.jpg”。它也不会更改图像中不包含“/”的行。

于 2012-07-11T20:12:40.673 回答