0
SELECT *
FROM list
WHERE list_item LIKE "%_1375_%"

返回不应该的结果。例如,list_item 中的结果为13753而不是1375,即使 3 出现在下划线之前。

 _13753_  and _1375_ are written above and not suppose to be italic.

有没有办法解决这个问题?

4

3 回答 3

2

从这里的MySQL 参考手册

SQL 模式匹配使您可以使用“_”匹配任何单个字符,使用“%”匹配任意数量的字符(包括零个字符)。

因此,您必须对它们进行转义以匹配文字下划线字符。像这样:

SELECT * FROM list
WHERE list_item LIKE "%\_1375\_%"
于 2012-06-19T00:37:24.680 回答
1

下划线表示任何字符。您是否正在寻找带有下划线的值?在这种情况下,您需要逃避它

SELECT *
FROM list
WHERE list_item LIKE "%\_1375\_%"
于 2012-06-19T00:37:17.400 回答
0

试试这个

LIKE '%[_]1375[_]%'
于 2012-06-19T00:48:48.697 回答