如何通过db.query在sqlite中使用BETWEEN

时间:2016-06-18 06:47:20

标签: sql sqlite android-sqlite

我在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之间。我现在可以在一个语句中编写此查询但我想按照上面的说法使用它。

1 个答案:

答案 0 :(得分:2)

来自描述query()方法的selection参数的Android documentation

  

过滤器,声明要返回哪些行,格式化为SQL WHERE子句(不包括WHERE本身)。传递null将返回给定表的所有行。

如果您想在查询中使用以下WHERE子句

 WHERE question_group = :category AND question_number BETWEEN 1 AND 10

然后您可以使用以下selectionselectionArgs

String selection = "question_group = ? AND question_number BETWEEN ? AND ?";
String[] selectionArgs = new String[]{ String.valueOf(category), "1", "10"};