如何在LIKE中使用百分比(%)而不将其视为通配符?

时间:2013-11-03 04:21:50

标签: mysql sql-like

我有一个应该包含所有顶级域名和二级域名的数据库。但我正在解析的提要包含很多子文件夹,我想删除包含任何%符号的任何行,但我很难弄清楚如何使用百分号作为字段我' d喜欢匹配,同时仍然使用LIKE功能。以下是我正在尝试使用的代码:

select FROM `001ProductList` WHERE programURL  LIKE '%%%'

以下是我想要匹配的示例:

  

www.site.com%3Ack-5941560-10463497?URL = HTTP%3A%2F%2Fwww.example.com%2Fproddetail.aspx%...

如果我遇到一个带有%符号的行,我想删除它。

2 个答案:

答案 0 :(得分:14)

转义文字%字符:

select * 
FROM 001ProductList
WHERE programURL LIKE '%\%%'

或使用正则表达式

WHERE programURL RLIKE '%'

答案 1 :(得分:2)

您可以使用LOCATE功能,如下所示:

SELECT * 
FROM `001ProductList`
WHERE LOCATE('%', `programURL`) <> 0;