2014-02-25 21 views
0

我在MYTABLE一排這個值'{ 「測試」: 「Hello World」 的}'列1Android的SQLite的 - 比賽多字字符串

如果我在數據庫中搜索與

SELECT * 
FROM mytable 
WHERE column1 LIKE '%Hello World%' 

我什麼也沒得到。如果我將查詢更改爲

SELECT * 
FROM mytable 
WHERE column1 LIKE '%Hello%'. 

我得到了結果,但這不是我想要的,因爲它返回不需要的行。

這兩個單詞之間的空格字符有問題嗎?

我的代碼如下所示:

Cursor cursor=db.rawQuery("SELECT * FROM mytable WHERE column1 LIKE '%Hello World%'",null); 
if(cursor.moveToFirst()) { 
    while(cursor.moveToNext()) { 
     //log results 
     ... 
    } 
} 
+0

試試'IN'運算符。 – Kedarnath

+0

轉到此鏈接:[http://thinkdiff.net/mixed/sqlite-space-within-string/](http://thinkdiff.net/mixed/sqlite-space-within-string/)僅供參考 –

+0

嘗試在sqlite瀏覽器查詢,看到結果即將或沒有.. – Vamshi

回答

1
if(cursor.moveToFirst()) { 
    while(cursor.moveToNext()) { 

這樣的代碼將跳過第一行。相反,請這樣做:

if (cursor.moveToFirst()) { 
    do { 
     //... 
    } while (cursor.moveToNext()); 
} 
+0

顯然...謝謝;) – gdros