2015-07-03 47 views
0

我有一列有數據值49,22 現在正在查詢下面運行。它沒有返回任何結果。在查詢mysql列

SELECT * FROM `tablename` WHERE 22 IN column_name 

什麼可能是問題?

+0

重複:http://stackoverflow.com/questions/337704/parameterize-an-sql-in-clause – rghome

回答

2

那是一個糟糕的數據庫設計,你永遠不應該然而,存儲逗號分隔值,和規範表,在這種情況下,你需要使用find_in_set功能

select * FROM `tablename` 
where find_in_set(22,column_name) > 0 
0

如果你想,如果檢查多行它們含有2249,您可以使用IN語法:

SELECT * FROM `tablename` WHERE column_name IN(22,49) 

如果你只是要檢查是否22是一個字符串,然後49,22使用這個:

SELECT * FROM `tablename` WHERE column_name LIKE '%22%' 

你的問題在這一點上有點不清楚。 :-)

+0

謝謝,@Abhik解決方案工作 –