是否可以将LIKE
运算符的SQL查询转换为仅使用相等和不等式过滤器而不是LIKE
运算符的SQL查询。两个查询的输出必须相同。
如果有可能,怎么做?
我正在使用MySQL数据库。
我尝试过解决方案但没有成功。
答案 0 :(得分:1)
不使用任何function
(正如你在@jonlester的回答中所说的那样),你不可能做你想做的事。
使用简单函数执行此操作的方法如下:
select
mycol
from
mytbl
where
INSTR(mycol,test) > 0
答案 1 :(得分:0)
我不明白你的问题,但你可以用这种方式使用mysql函数:
select
mycol
from
mytbl
where
mycol like "test%"
将与:
相同select
mycol
from
mytbl
where
left(mycol,4) = "test"
答案 2 :(得分:0)
你有两个选择......
1. SELECT myColumn FROM myTable WHERE INSTR(myColumn,'myString') = 1
2. SELECT myColumn FROM myTable WHERE LOCATE('myString',myColumn) = 1
祝你好运!干杯!!!
答案 3 :(得分:0)
如果您在查询列时使用LIKE
查找子元素,那么您可以将这些子元素拆分为单独的列它们被插入/更新以允许在搜索条件中使用相等运算符。
答案 4 :(得分:0)
在您指定要求时,我认为您应该朝着整合全文索引的方向发展。
IE中。看看像SOLR,Lucene或类似的解决方案。您可能希望从此处Search Engine - Lucene or Solr开始 - 并点击/ google自己的方式。