所以这只是一个简单的问题,我有这个问题。它没有用,所以我只是觉得我确定这是不可能的。
SELECT * FROM warehouse WHERE sku LIKE IN ($clean) AND style= :style9 ORDER BY sku ASC
答案 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是以逗号分隔的值列表。