【发布时间】:2013-07-05 06:36:27
【问题描述】:
我有一张这样的桌子:
country (id, name)
我想找到例如搜索字符串是“俄罗斯联邦”并且在我的表中存储值“俄罗斯”的 id。
实际上,存储的值是搜索字符串的子字符串。
【问题讨论】:
我有一张这样的桌子:
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;
【讨论】: