MySQL:如何从数据库中的字段中删除尾随HTML?

时间:2010-09-09 17:36:50

标签: sql mysql string

我想从一个应该包含简单文件名的DB字段中删除一些流氓HTML。 ok字段示例:

myfile.pdf

不好的字段示例:

myfile2.pdf<input type="hidden" id="gwProxy" />...

有没有人知道我可以运行的查询可以删除HTML部分但保留文件名?即从第一个<字符开始删除所有内容。

让我们假设该字段被称为myattachment并被定义为varchar(250),并且该表在MySQL数据库中被称为mytable


背景信息(无需阅读):

我们数据库中的字段应该包含文件名,但是由于问题(documented here),某些字段现在包含文件名和一些流氓HTML 。我们已修复根问题,现在需要修复损坏的字段。在过去,我使用这种查询替换了文本:

UPDATE mytable SET myattachment = replace(myattachment, 'JPG', 'jpg') WHERE myattachment LIKE '%JPG';

1 个答案:

答案 0 :(得分:1)

此查询似乎正常,任何人都可以看到它有任何问题吗?

UPDATE mytable
   SET myattachment = SUBSTRING_INDEX(myattachment, '<', 1) 
 WHERE `myattachment` LIKE '%<%';

对于SUBSTRING_INDEX上的文档,请参阅mysql manual page