Kev*_*shi 40 mysql sql sql-like
我有一个选择查询,我试图搜索字符串的多个模式
LIKE ('%this%' or '%that%' ) and something=else
Run Code Online (Sandbox Code Playgroud)
返回零结果
然而
LIKE '%this%' and something=else
Run Code Online (Sandbox Code Playgroud)
返回结果和
LIKE '%that%' and something=else
Run Code Online (Sandbox Code Playgroud)
返回结果
是否可以将我的所有结果都放入一个查询中?如果一个字符串匹配两者,它将如何处理?
Boh*_*ian 80
如果可以的话会很好,但你不能在SQL中使用这种语法.
试试这个:
(column1 LIKE '%this%' OR column1 LIKE '%that%') AND something = else
Run Code Online (Sandbox Code Playgroud)
注意使用括号!你需要围绕OR
表达式.
没有括号,它将被解析为A OR (B AND C)
,它不会给你你期望的结果.
小智 22
Instead of using `LIKE` use `REGEXP`.
For example:
REGEXP 'THIS|THAT'
For example:
REGEXP 'THIS|THAT'
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
Refer:
http://dev.mysql.com/doc/refman/5.1/en/regexp.html
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
104707 次 |
最近记录: |