如何通过 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

那么你可以使用下面的selectionselectionArgs:

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