我有一个表,其中的列允许特殊字符,例如 / 、 \ 、 @ 、 $ 。
现在,当我尝试从表中搜索此类记录时,我无法获取。 我尝试了一个查询,但它返回 0 行,但实际上存在 1 条记录。在这种情况下如何编写查询?
我的查询(给出错误的结果)是这样的
select * from mytable where column7 like '%jk\xyz@%'
最佳答案
您可能需要转义一些特殊字符 - 特别是反斜杠。请注意,使用 LIKE 运算符 - 发出命令的过程分为两部分,并且都进行 strip 转义 - 因此要搜索单个反斜杠,您需要使用 4 个反斜杠。
select * from mytable where column7 like '%jk\\\\xyz@%'
看这个:MySQL LIKE operator with wildcard and backslash 和 http://dev.mysql.com/doc/refman/5.6/en/string-comparison-functions.html#operator_like
关于php - 搜索关键字可能包含特殊字符的搜索查询是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473441/