你如何在MySql中实际搜索反引号?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你如何在MySql中实际搜索反引号?相关的知识,希望对你有一定的参考价值。
我需要在我正在尝试的mysql中搜索包含字符`的字符串:
select * from transactions where transactions.calculatorCode like "%`%";
但它返回所有记录。我错过了什么吗?
答案
您应首先检查服务器上是否启用了ANSI_QUOTES模式
mysql> SELECT @@sql_mode;
如果你在结果中看到它,那么你应该只用单引号包围你的字符串litterals,因为双引号会将它们解释为IDENTIFIERS(列,表等等)而不是字符串,这是标准的SQL行为。
所以你的查询应该成为
select * from transactions where transactions.calculatorCode like '%`%';
无论如何,你应该避免使用双引号来包围你的字符串,因为你的SQL代码可移植性会受到严重影响。始终使用单引号是经验法则。
如果它仍然无法正常工作,您可以尝试使用REGEXP_LIKE:
select * from transactions WHERE REGEXP_LIKE(calculatorCode, '`');
select * from transactions WHERE calculatorCode RLIKE '`';
以上是关于你如何在MySql中实际搜索反引号?的主要内容,如果未能解决你的问题,请参考以下文章