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

Rob*_*t82 6 mysql sql-like

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

select FROM `001ProductList` WHERE programURL  LIKE '%%%'
Run Code Online (Sandbox Code Playgroud)

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

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

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

Boh*_*ian 16

逃避文字%字符:

select * 
FROM 001ProductList
WHERE programURL LIKE '%\%%'
Run Code Online (Sandbox Code Playgroud)

或使用正则表达式

WHERE programURL RLIKE '%'
Run Code Online (Sandbox Code Playgroud)

  • 这是第一个forst版本中间百分比之前的*反斜杠*(你的评论有一个*forward*斜杠,这将不起作用),但我也会使用第二个版本 - 更容易阅读,因为百分比是一个特殊的正则表达式字符(不需要转义),你只需要编码百分比,因为RLIKE只需要*部分*匹配 (3认同)