我有一张这样的桌子:
country (id, name)
我想找到例如搜索字符串是“俄罗斯联邦”并且在我的表中存储值“俄罗斯”的 id。
实际上,存储的值是搜索字符串的子字符串。
你可以这样尝试:
SELECT *
FROM Country
WHERE 'Russian Federation' LIKE CONCAT('%', Name, '%')
这是SQL Fiddle演示。
如果是这种情况,那么您可以这样做:
select *
from country
where concat(' ', SEARCHSTRING, ' ') like concat('% ', name, ' %')
或者您可以使用find_in_set()
:
select *
from country
where find_in_set(name, replace(SEARCHSTRING, ' ', ',')) > 0;