2016-07-23 85 views
1

我知道如果我想忽略的DB username列的空間做一個SQLite SELECT,我可以這樣做:的Android SQLiteDatabase查詢忽略空格

SELECT * FROM mytable WHERE REPLACE(username, ' ', '') LIKE '%TO_QUERY%' 

SQLiteDatabase.query()界面:

public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) 

我想知道如何使用此接口來實現上述SQL命令,或者最好使用SQLiteDatabase.rawQuery()

回答

1

爲此,您可以簡單地使用SQLiteOpenHelperSQLiteDatabase

rawQuery()方法在你的類

public class DatabaseHelper extends SQLiteOpenHelper 

檢查這個擴展SQLiteOpenHelper

private SQLiteDatabase myDataBase; 

選擇一些列:

Cursor c = myDataBase.rawQuery(
       "SELECT * FROM mytable WHERE REPLACE(username, ' ', '') LIKE '%TO_QUERY%' ;", null); 

然後使用光標c

要更新的東西

myDataBase.execSQL("UPDATE some_table SET some_column='" + value 
       + "' WHERE some_column LIKE '" + some_value + "'"); 
+0

謝謝做您的操作,似乎'rawQuery()'是我最好的選擇。 – stanleyli