匹配“%”在 MySQL 数据库中搜索时签名
我想在 MySQL 中匹配这个 'wildcard %'
。
我尝试使用 escape \%
但它不起作用。
I would like to match this 'wildcard %'
in MySQL.
I tried using escape \%
and it is not working.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
默认转义字符是
\
。因此,只需在%
前面加上\
即可:\%
:手册清楚地说:
在
Stack%Overflow
中搜索%
:在
StackOverflow
中搜索%
:编辑:
如果您从 PHP 调用此查询,则必须使用
\\
。这是因为即使 PHP 也使用\
作为转义字符。所以要让 MySQL 得到一个\
你需要在 PHP 中有\\
。The default escape character is
\
. So just prefix%
with a\
as:\%
:The manual clearly says:
Search for
%
inStack%Overflow
:Search for
%
inStackOverflow
:EDIT:
If you are calling this query from PHP, you'll have to use
\\
. This is because even PHP uses\
as the escape character. So make MySQL get a\
you need to have\\
in PHP.好的,我需要使用 doble
(\\)
来匹配数据库中的 %ok i need to use doble
(\\)
to match the % in the database这是一个例子:
Here is an example:
您还需要对 PHP 字符串中的 \ 进行转义,否则 PHP 会认为您实际上是在转义 %,从而将文字 % 发送到 sql 查询,所以我认为这应该可行:
You need to escape the \ in PHP string as well, otherwise PHP would think that you are actually escaping the %, thus sending literal % to the sql query, so I think this should work:
在最新版本中您也可以尝试
问候
In latest version you can also try
regards