首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘'LIKE ('%this%’或‘%this%’)和something=else‘不工作

‘'LIKE ('%this%’或‘%this%’)和something=else‘不工作
EN

Stack Overflow用户
提问于 2011-06-30 04:37:40
回答 7查看 128.2K关注 0票数 51

我有一个select查询,我试图在其中搜索多个模式的字符串

代码语言:javascript
复制
LIKE ('%this%' or '%that%' ) and something=else

返回零结果

然而,

代码语言:javascript
复制
LIKE '%this%' and something=else

返回结果和

代码语言:javascript
复制
LIKE '%that%' and something=else

返回结果

有没有可能把我所有的结果放到一个查询中?如果一个字符串两者都匹配,它将如何处理?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-06-30 04:39:19

如果可以,那就太好了,但是不能在SQL中使用这种语法。

试试这个:

代码语言:javascript
复制
(column1 LIKE '%this%' OR column1 LIKE '%that%') AND something = else

注意括号的用法!您需要在OR表达式中使用它们。

如果没有方括号,它将被解析为A OR (B AND C),这不会给出您期望的结果。

票数 91
EN

Stack Overflow用户

发布于 2014-01-23 05:02:11

使用REGEXP而不是LIKE。例如:

代码语言:javascript
复制
SELECT * WHERE value REGEXP 'THIS|THAT'
代码语言:javascript
复制
mysql> SELECT 'pi' REGEXP 'pi|apa';                     -> 1
mysql> SELECT 'axe' REGEXP 'pi|apa';                    -> 0
mysql> SELECT 'apa' REGEXP 'pi|apa';                    -> 1
mysql> SELECT 'apa' REGEXP '^(pi|apa)$';                -> 1
mysql> SELECT 'pi' REGEXP '^(pi|apa)$';                 -> 1
mysql> SELECT 'pix' REGEXP '^(pi|apa)$';                -> 0

参考:http://dev.mysql.com/doc/refman/5.1/en/regexp.html

票数 33
EN

Stack Overflow用户

发布于 2011-06-30 04:40:19

尝试如下所示:

WHERE (column LIKE '%this%' OR column LIKE '%that%') AND something = else

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

https://stackoverflow.com/questions/6526949

复制
相关文章

相似问题

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