这个问题也有答案,但它专门提到了DB2。

我如何搜索字符串使用LIKE已经有一个百分比%符号在它?LIKE操作符使用%符号表示通配符。


当前回答

WHERE column_name LIKE '%save 50[%] off!%'

其他回答

您可以使用下面的代码来查找特定的值。

WHERE col1 LIKE '%[%]75%'

当您想在%符号后面加一个数字时,可以编写以下代码。

WHERE col2 LIKE '%[%]_'

在MySQL中,

WHERE column_name LIKE '%|%%'转义'|'

使用括号。寻找75%的概率

WHERE MyCol LIKE '%75[%]%'

这比ESCAPE更简单,对于大多数rdbms都很常见。

WHERE column_name LIKE '%save 50[%] off!%'

你可以在LIKE中使用ESCAPE关键字。只需将所需字符放在前面(例如:'!')到字符串中每个现有的%符号,然后添加ESCAPE '!’(或者你选择的角色)到查询的结尾。

例如:

SELECT *
FROM prices
WHERE discount LIKE '%80!% off%'
ESCAPE '!'

这将使数据库将80%视为要搜索的字符串的实际部分,而不是80(通配符)。

MSDN Docs for LIKE