全字段多條件搜索(api接口)


近期在做項目時遇到了一個全表全字段多條件搜索的需求,在平時搜索最常見的就是 字段+like +‘% 條件%’這種模式,但遇到多條件多字段時,這種就不適用了。 表字段已知,條件未知,條件數量未知,這種情況我們不可能每多一個條件就加一個and。

解決辦法:

先將用戶輸入的條件存入一個數組中,例如以空格隔開的條件:

 String[] strArr = SearchText.Split(" ");  

進行循環遍歷數組中的條件進行sql拼接

for(int i =0;i<strArr.Length;i++) 

{
sql += "concat(D1,D,D3,D4,D5,D6,D7,D8,D9,D10,Data) like '%"+strArr[i] + "%'and";

}

然后將拼接好的sql放入where條件下就可以了。

這個方法是在不考慮查詢效率時所使用的。

測試:數據約兩萬條,二十五個字段,45kb左右,大約要17s(查詢條件無)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM