MySQL替换查询
我有一个表,需要从特定字段中删除特定文本。此字段包含图像的完整URL,我需要删除该URL并保留图像文件名 因此: 当前日期:字段名:www.example.com/photo.jpg 我要做的是从该字段的所有条目中删除www.example.com/ 我知道如何使用搜索和替换功能,但我不知道如何保留部分数据的完整性 这是我使用过的,但无法修改以使其按我想要的方式工作:MySQL替换查询,mysql,Mysql,我有一个表,需要从特定字段中删除特定文本。此字段包含图像的完整URL,我需要删除该URL并保留图像文件名 因此: 当前日期:字段名:www.example.com/photo.jpg 我要做的是从该字段的所有条目中删除www.example.com/ 我知道如何使用搜索和替换功能,但我不知道如何保留部分数据的完整性 这是我使用过的,但无法修改以使其按我想要的方式工作: UPDATE table SET oc_upload1 = REPLACE(oc_upload1,'newtext') WHER
UPDATE table SET oc_upload1 = REPLACE(oc_upload1,'newtext') WHERE oc_upload1 LIKE "oldtext"
这可能吗?如果是,怎么做?谢谢大家! 这应该可以:
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”。它也不会更改图像中不包含“/”的行。这应该可以:
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”。它也不会更改图像中不包含“/”的行。谢谢,你的最后一个建议正是我想要的。谢谢,你的最后一个建议正是我想要的。