我当前的查询是这样的:
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
substring_index( substring_index( '1740,1938,1940', ',', help_topic_id + 1 ), ',',- 1 ) AS sub_
FROM
mysql.help_topic
WHERE
help_topic_id <(
length( '1740,1938,1940' )- length(
REPLACE ( '1740,1938,1940', ',', '' ))+ 1
) AS b
) ON f.fiberBox LIKE concat('%',
b.sub_,
'%')
你也可以这样用:
SELECT
*
FROM
fiberbox f
JOIN (
SELECT
substring_index( substring_index( '1740,1938,1940', ',', help_topic_id + 1 ), ',',- 1 ) AS sub_
FROM
mysql.help_topic
WHERE
help_topic_id <(
length( '1740,1938,1940' )- length(
REPLACE ( '1740,1938,1940', ',', '' ))+ 1
) AS b
) ON f.fiberBox LIKE concat('%',
b.sub_,
'%')