如何通过 db.query 在 sqlite 中使用 BETWEEN
How can use BETWEEN in sqlite via db.query
我有一个使用 "between" 的 sqlite 查询,我想在标准查询中使用它。
我的代码在这里:
String[] columns = new String[]{"_id", "question_group", "question_number", "is_answered"};
String selection = "question_group = ?";
String[] selectionArgs = new String[]{String.valueOf(category)};
String groupBy = null;
String having = null;
String orderBy = null;
String limit = null;
SQLiteDatabase db = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, SQLiteDatabase.OPEN_READWRITE);
Cursor cursor = db.query(TABLE_QUESTION, columns, selection, selectionArgs, groupBy, having, orderBy, limit);
我想添加另一个条件:question_number 介于 1 和 10 之间。我现在可以在一条语句中编写此查询,但我想按照上面所说的那样使用它。
来自 Android documentation 描述 query() 方法的 selection
参数:
A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will return all rows for the given table.
如果您想在查询中使用以下 WHERE
子句
WHERE question_group = :category AND question_number BETWEEN 1 AND 10
那么你可以使用下面的selection
和selectionArgs
:
String selection = "question_group = ? AND question_number BETWEEN ? AND ?";
String[] selectionArgs = new String[]{ String.valueOf(category), "1", "10"};
我有一个使用 "between" 的 sqlite 查询,我想在标准查询中使用它。 我的代码在这里:
String[] columns = new String[]{"_id", "question_group", "question_number", "is_answered"};
String selection = "question_group = ?";
String[] selectionArgs = new String[]{String.valueOf(category)};
String groupBy = null;
String having = null;
String orderBy = null;
String limit = null;
SQLiteDatabase db = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, SQLiteDatabase.OPEN_READWRITE);
Cursor cursor = db.query(TABLE_QUESTION, columns, selection, selectionArgs, groupBy, having, orderBy, limit);
我想添加另一个条件:question_number 介于 1 和 10 之间。我现在可以在一条语句中编写此查询,但我想按照上面所说的那样使用它。
来自 Android documentation 描述 query() 方法的 selection
参数:
A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will return all rows for the given table.
如果您想在查询中使用以下 WHERE
子句
WHERE question_group = :category AND question_number BETWEEN 1 AND 10
那么你可以使用下面的selection
和selectionArgs
:
String selection = "question_group = ? AND question_number BETWEEN ? AND ?";
String[] selectionArgs = new String[]{ String.valueOf(category), "1", "10"};