sqlite中的多参数查询

时间:2016-06-08 09:09:55

标签: android sqlite android-sqlite

我在sqlite中有一个包含4列(id,group,description,status)的表。 当我的where子句只有一个字段时,我可以在这个表上进行查询,如下所示:

public Question readQuestion(long _id) {String[] columns = new String[]{"id", "group", "description", "status"};
    String selection = "id=?";
    String[] selectionArgs = new String[]{String.valueOf(_id)};
    String groupBy = null;
    String having = null;
    String orderBy = null;
    String limit = null;
    database = sqLiteOpenHelper.getWritableDatabase();
    Cursor cursor = database.query("my_table", columns, selection, selectionArgs, groupBy, having, orderBy, limit);
    .......etc.....
}

但我的问题是当我必须在2或3列上进行查询时,其中一个或两个可能为NULL。例如,当我的GROUP字段用(A,B或null)和STATUS搜索(1,2或null)时。我认为这是在选择'和' selectionArgs'但我不知道怎么能搞清楚。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

你可以试试这个。

library(stringr)
word(v1, 3, sep=':')
#[1] "ES5206956802492"

String selection = "( id=? || id=? || id=? ) && ( status =? || status=? || status=? )";
String[] selectionArgs = new String[]{"1","2",null,"A","B",null};