1

我有一张这样的桌子:

country (id, name)

我想找到例如搜索字符串是“俄罗斯联邦”并且在我的表中存储值“俄罗斯”的 id。

实际上,存储的值是搜索字符串的子字符串。

4

2 回答 2

4

你可以这样尝试:

SELECT *
  FROM Country
  WHERE 'Russian Federation' LIKE CONCAT('%', Name, '%')

这是SQL Fiddle演示。

于 2013-07-08T01:26:00.220 回答
1

如果是这种情况,那么您可以这样做:

select *
from country
where concat(' ', SEARCHSTRING, ' ') like concat('% ', name, ' %')

或者您可以使用find_in_set()

select *
from country
where find_in_set(name, replace(SEARCHSTRING, ' ', ',')) > 0;
于 2013-07-08T01:23:32.673 回答