2013-10-24 48 views

回答

2

試試這個:如果VAL是參數

Select 
* 
from table 
where cityId like 'val,%' 
or cityId like '%,val,%' 
or cityId like '%,val' 
+0

這也會匹配'(11,12,13)'與'1','2'和'3'。 – h2ooooooo

+0

怎麼樣?它不會,請通過查詢有點詳細 –

+0

@srikantamondal:我的樂趣 –

0

不知道如果我理解正確的您的要求。根據我的理解,試試這個:

select * from table where cityid like '%,2,%'; 
1

你可以使用MySQL的FIND_IN_SET()

SELECT * FROM table WHERE FIND_IN_SET(2, cityid) > 0; 

不過,我真的建議你改變你的表的模式,以存儲多個協會在一個單一的細胞。你可以用映射的關係的第二個表做到這一點(認爲create table table_cities (table_id int, city_id int);),然後使用一個join拉值:

SELECT 
    t.* 
FROM 
    table t 
    JOIN table_cities tc 
     ON t.id = tc.table_id 
WHERE 
    tc.city_id = 2;