我正在使用搜索功能,並將搜索查詢分割爲單獨的單詞。我知道不會超過10個字,但可能會少一些。有沒有一種方法可以使分割函數具有一致的結果?(相同的字數)
因爲我需要做的SQL查詢,用單詞的一致量,讓我們說10,我需要添加輸入的情況下,用戶8點空的話只有2
有沒有什麼聰明的方法怎麼辦呢或者我應該從1到10循環,並檢查該特定位置是否爲空,如果是,則用空白字填充它?
SQL查詢將看起來像這樣(但有9個AND):
SELECT * FROM mytable
WHERE column1 LIKE '%word1%'
AND column1 LIKE '%word2%'
AND column1 LIKE '%word3%'
基本上就是我想要做的就是這一點,但也許在一些更聰明的辦法:
String[] finalSearch = new String[10];
String[] search=searchInput.split(" ", -1);
for (int i=0; i<10; i++){
if (search[i]!=null){
finalSearch[i] = search[i];
}else{
finalSearch[i]="";
}
}
如何您的SQL查詢樣子? –
'因爲我需要使用一致的單詞數量來進行SQL查詢 - 這是強制性的嗎?如果用戶只輸入2個單詞,你不能只在SQL查詢中發送2個參數嗎? – Arkantos
它是SQL查詢中的「AND」還是「OR」?你總是搜索同一列嗎?如果'column1'匹配'word1',你是否還需要在同一個'column1'中搜索'word2'? – Arkantos