我有一个表,我需要从特定字段中删除特定文本。该字段包含图像的完整URL,我需要删除URL并保留图像文件名。
所以: 当前日期:fieldname:www.example.com/photo.jpg 我想要做的是从该字段的所有条目中删除www.example.com/。
我知道如何使用搜索和替换功能,但我不知道如何保留部分数据。
这是我使用的但不能修改它以使其按照我想要的方式工作:
UPDATE table SET oc_upload1 = REPLACE(oc_upload1,'newtext') WHERE oc_upload1 LIKE "oldtext"
这可能吗?如果是这样,怎么样?谢谢!
答案 0 :(得分: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' to' daisy.jpg',而不是' images / 01/02 / daisy.jpg'。它也不会更改不包含' /'在图像中。
答案 1 :(得分:0)