次のようなテーブルがあります。
country (id, name)
たとえば、検索文字列が「ロシア連邦」で、テーブルに値「ロシア」が格納されているIDを見つけたいとします。
実際には、保存された値は検索文字列の部分文字列です。
次のように試すことができます。
SELECT *
FROM Country
WHERE 'Russian Federation' LIKE CONCAT('%', Name, '%')
これがSQL Fiddle Demo です。
その場合は、次のことができます。
select *
from country
where concat(' ', SEARCHSTRING, ' ') like concat('% ', name, ' %')
または、次を使用できますfind_in_set()
。
select *
from country
where find_in_set(name, replace(SEARCHSTRING, ' ', ',')) > 0;