2013-07-08 59 views
1

我有一個表是這樣的:MySQL查詢發現串

country (id, name) 

我想找到id其中例如搜索字符串爲「俄羅斯聯邦」,並在我的表中存儲的值「俄羅斯」。

實際上存儲的值是搜索字符串的子字符串。

回答

4

,您可以嘗試這樣的:

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

這裏的SQL Fiddle演示。

1

如果是這樣的話,那麼你可以這樣做:

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

或者你可以使用find_in_set()

select * 
from country 
where find_in_set(name, replace(SEARCHSTRING, ' ', ',')) > 0; 
+0

使用find_in_set函數它似乎不起作用http://sqlfiddle.com/#!2/bfb49/13/0 – Danilo