我在sqlite上查询使用“between”,我想在标准Query上使用它。 我的代码在这里:
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之间。我现在可以在一个语句中编写此查询但我想按照上面的说法使用它。
答案 0 :(得分:2)
来自描述query()方法的selection
参数的Android documentation:
过滤器,声明要返回哪些行,格式化为SQL WHERE子句(不包括WHERE本身)。传递null将返回给定表的所有行。
如果您想在查询中使用以下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"};