我当前的查询是这样的:
SELECT * FROM fiberbox f WHERE f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %'
我环顾了一下,找不到任何类似于LIKE IN()的东西——我想象它是这样工作的:
SELECT * FROM fiberbox f WHERE f.fiberbox LIKE IN('%140 %', '%1938 %', '%1940 %')
什么好主意吗?我是不是想错了问题——一些我从未见过的模糊命令。
MySQL 5.0.77-community-log
你可以创建一个内联视图或临时表,用你的值填充它,然后发出这个:
SELECT *
FROM fiberbox f
JOIN (
SELECT '%1740%' AS cond
UNION ALL
SELECT '%1938%' AS cond
UNION ALL
SELECT '%1940%' AS cond
) с
ON f.fiberBox LIKE cond
然而,这可以为你返回多行纤维盒,类似于' 1740,1938 ',所以这个查询更适合你:
SELECT *
FROM fiberbox f
WHERE EXISTS
(
SELECT 1
FROM (
SELECT '%1740%' AS cond
UNION ALL
SELECT '%1938%' AS cond
UNION ALL
SELECT '%1940%' AS cond
) с
WHERE f.fiberbox LIKE cond
)