2013-03-05 24 views
1

我有嘗試使用此查詢航天事業問題

SELECT * FROM DBNAME WHERE NAME LIKE '%SEARCHKEYWORD%' 

以實現SQLite的數據庫進行搜索,但如果名稱中包含空格不工作, 例如,如果在DB有一個名稱Mustang GT, 如果我輸入關鍵字mustang gtMustang GT ...返回總是空查詢。

+0

你是否在查詢時在搜索關鍵字周圍放置單引號? – dennisdrew 2013-03-05 17:03:21

+0

我傳遞的查詢關鍵字是該查詢中的字符串,僅在搜索關鍵字沒有任何空格的情況下有效,如 – AndreaF 2013-03-05 17:24:30

+0

是的,但您必須用單引號括起來。所以,假設你傳入一個名爲searchKeyword的String變量。你必須用單引號將它包圍在SQLite查詢中。所以,它應該是WHERE NAME LIKE「'」+ searchKeyword +「'」 – dennisdrew 2013-03-05 18:29:13

回答

1

沒有理由,可導致在你的代碼的描述者的問題,當你得到的字符串有可能出現問題。

嘗試打印SEARCHKEYWORD以驗證其是否正確。

0

因爲LIKE區分大小寫,所以您需要將列和字符串都放低(或大寫)。

例如:

SELECT * FROM DBNAME WHERE lower(NAME) LIKE lower('%SEARCHKEYWORD%') 
+0

不區分大小寫......問題在於空間 – AndreaF 2013-03-05 16:33:33