繁体   English   中英

使用LIKE运算符将SQL查询转换为带有过滤器的SQL查询

[英]conversion SQL query with LIKE operator to SQL query with filters

是否有可能SQL查询与转换LIKE操作符SQL查询,只有等式和不等式过滤,而不是LIKE操作。 两个查询的输出必须相同。

如果可能的话,怎么做?

我正在使用MySQL数据库。

我尝试寻求解决方案,但没有成功。

如果不使用任何类型的function (如您在@jonlester答案中的注释所述),则无法做您想做的事情。

用一个简单的函数来做到这一点的方法是这样的:

select
  mycol
from
  mytbl
where 
  INSTR(mycol,test) > 0

我不明白您的问题,但是您可以通过以下方式使用mysql函数:

select
  mycol
from
  mytbl
where 
  mycol like "test%"

将与以下相同:

select
  mycol
from
  mytbl
where 
  left(mycol,4) = "test"

您有两个选择...

1. SELECT myColumn FROM myTable WHERE INSTR(myColumn,'myString') = 1

2. SELECT myColumn FROM myTable WHERE LOCATE('myString',myColumn) = 1

祝好运!!! 干杯!!!

如果在查询列时使用LIKE查找子元素则可以在插入/更新子元素时将这些子元素拆分为单独的列以允许在搜索条件中使用均等运算符。

在您指定需求时,我认为您应该朝着整合全文索引的方向发展。

就是 看一下SOLR,Lucene或类似产品的解决方案。 您可能要从这里开始搜索引擎-Lucene或Solr-并从那里单击/ google。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM