2014-07-09 21 views
0

在我的項目中,我使用這個sql來選擇所有的設備;如何編寫一個mysql拆分字符串函數?

select * from devicetable where sn in('xx','xxx','xxxx');

由於前端只傳遞字符串'xx,xxx,xxx' //器件數量是不明。

所以SQL將成爲

select * from devicetable where sn in('xx,xxx,xxxx');這是不是我的預期。

對我有幫助,我是前端開發者。

+0

用於後端您使用的語言即Java PHP,Ruby等 –

+0

後端只關心數據結構(C#/ C++),前端完成的業務邏輯。 –

+0

如果您是前端開發人員,請修改前端以按需要的方式傳遞字符串。 –

回答

0

使用find_in_set()

select * 
from devicetable 
where find_in_set(sn, 'xx,xxx,xxxx'); 

,因爲它阻止了索引的使用是不理想的。但是,如果你打算解析數據庫中的字符串,那麼性能應該不會有問題。