我有一列有數據值49,22
現在正在查詢下面運行。它沒有返回任何結果。在查詢mysql列
SELECT * FROM `tablename` WHERE 22 IN column_name
什麼可能是問題?
我有一列有數據值49,22
現在正在查詢下面運行。它沒有返回任何結果。在查詢mysql列
SELECT * FROM `tablename` WHERE 22 IN column_name
什麼可能是問題?
那是一個糟糕的數據庫設計,你永遠不應該然而,存儲逗號分隔值,和規範表,在這種情況下,你需要使用find_in_set
功能
select * FROM `tablename`
where find_in_set(22,column_name) > 0
如果你想,如果檢查多行它們含有22
或49
,您可以使用IN
語法:
SELECT * FROM `tablename` WHERE column_name IN(22,49)
如果你只是要檢查是否22
是一個字符串,然後49,22
使用這個:
SELECT * FROM `tablename` WHERE column_name LIKE '%22%'
你的問題在這一點上有點不清楚。 :-)
謝謝,@Abhik解決方案工作 –
重複:http://stackoverflow.com/questions/337704/parameterize-an-sql-in-clause – rghome