首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与mysql类似的搜索和= search的混淆

与mysql类似的搜索和= search的混淆
EN

Stack Overflow用户
提问于 2018-06-09 05:27:59
回答 1查看 195关注 0票数 2

当我使用mysql搜索某样东西时,我得到了这个问题。这是详细的信息。

假设我有一个名为test的表和一个名为content的列。在特定记录中,content列保存:

代码语言:javascript
复制
["
/^\w{2,}/","
/^[a-z][a-z0-9]+$/","
/^[a-z0-9]+$/","
/^[a-z]\d+$/"]

在行尾有一个linefeed字符(最后一行除外),所以当我使用类似的语法搜索这个记录时,我编写了如下所示的SQL

代码语言:javascript
复制
select * from test where `content` like 
'[\"\n/^\\\\w{2,}/\",\"\n/^[a-z][a-z0-9]+$/\",\"\n/^[a-z0-9]+$/\",\"\n/^[a-z]\\\\d+$/\"]'

结果是正确的。但是,当我将like更改为=而这个SQL语句无法工作时,经过几次尝试后,我得到了这个有效的SQL语句:

代码语言:javascript
复制
select * from test where `content` = 
'[\"\n/^\\w{2,}/\",\"\n/^[a-z][a-z0-9]+$/\",\"\n/^[a-z0-9]+$/\",\"\n/^[a-z]\\d+$/\"]'

啊,真灵。所以问题是:为什么like=有不同的逃逸策略?在like语句中,我必须使用\\\\w\\\\d,而在=语句\\w中,\\d做得很好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-09 05:35:49

MySQL LIKE操作符根据模式选择数据。

LIKE运算符通常用于根据模式选择数据。以正确的方式使用LIKE运算符对于提高查询性能至关重要。

LIKE操作符允许您根据指定的模式从表中选择数据。因此,LIKE运算符经常在SELECT语句的WHERE子句中使用。

MySQL提供了两个通配符用于LIKE运算符,百分比%和下划线_

  • 百分比(%)通配符允许您匹配任何零个或多个字符的字符串。
  • 下划线(_)通配符允许您匹配任何单个字符。

Comparison operations的值为1 (TRUE)、0 (FALSE)或NULL。这些操作适用于数字和字符串。必要时,字符串自动转换为数字和数字。

以下关系比较运算符不仅可用于比较标量操作数,还可用于比较行操作数:

< >= <= <> !=

注意:对于简单的模式匹配,=是相等的运算符,LIKE

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50771201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档