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.
有没有办法解决这个问题?
从这里的MySQL 参考手册
SQL 模式匹配使您可以使用“_”匹配任何单个字符,使用“%”匹配任意数量的字符(包括零个字符)。
因此,您必须对它们进行转义以匹配文字下划线字符。像这样:
SELECT * FROM list
WHERE list_item LIKE "%\_1375\_%"
下划线表示任何字符。您是否正在寻找带有下划线的值?在这种情况下,您需要逃避它
SELECT *
FROM list
WHERE list_item LIKE "%\_1375\_%"
试试这个
LIKE '%[_]1375[_]%'