使用' LIKE IN'在mysql查询中

时间:2014-12-22 17:19:37

标签: mysql sql-like

所以这只是一个简单的问题,我有这个问题。它没有用,所以我只是觉得我确定这是不可能的。

SELECT * FROM warehouse WHERE sku LIKE IN ($clean) AND style= :style9 ORDER BY sku ASC

5 个答案:

答案 0 :(得分:1)

我不认识LIKE IN

您可以尝试sku LIKE '%' + ($clean) + '%'

或者,如果你反过来寻找它:($clean) LIKE '%' + sku + '%'

Is there a combination of "LIKE" and "IN" in SQL?以下是使用Contains的讨论,如果您想尝试使用它。

答案 1 :(得分:1)

There is no combination of LIKE & IN in SQL,so you have to use sql like

SELECT * FROM warehouse WHERE sku LIKE '%$clean%' AND style= :style9 ORDER BY sku ASC

答案 2 :(得分:0)

喜欢和两者都是不同的东西,你可以从下面的代码片段轻松理解,希望这会帮助你消除你的困惑:)

select 
    *
from
    emp
where
    name like @param +'%'

Select
   *
from
   emp where name in ('abc', 'xyz')  

答案 3 :(得分:0)

不知道您的$clean值是什么(或您的sku值或预期结果)我只能猜测,但REGEXP,也称为RLIKE,可能在这里很有用。

假设您正在寻找SKU的'AB%','XY%'和'FG%'。您可以使用RLIKE执行此操作,如下所示:

SELECT * FROM warehouse WHERE sku RLIKE '^(AB|XY|FG)' AND ...

答案 4 :(得分:0)

您可以使用REGEXP来实现您尝试实现的目标,因此您的查询将类似于

SELECT * 
FROM warehouse 
WHERE sku REGEXP REPLACE($clean,',','|') AND style= :style9 
ORDER BY sku ASC

假设$ clean是以逗号分隔的值列表。