GreenDao选择范围与BETWEEN运算符

时间:2015-10-27 16:13:05

标签: android sql sqlite greendao

我使用GreenDao并且我有一个由这个类定义的实体:

Dot {
    String name;
    float value;
}

我想从我的DataBase中提取所有在值-1和值+ 1 之间的值的点。 SQL查询应该是这样的:

SELECT * FROM dot WHERE value BETWEEN(value-1, value+1)

我可以在GreenDao中做同样的事情,也许:

QueryBuilder<Dot> query = DotDao.queryBuilder();
query.where(DotDao.Properties.Value.between(DotDao.Properties.Value-1, DotDao.Properties.Value+1));
List<Range> rangeList = query.list();

这可能还是我必须使用一些Raw查询?

1 个答案:

答案 0 :(得分:0)

您可以使用AND运算符。

例如:

QueryBuilder<Dot> query = DotDao.queryBuilder();
List<Range> rangeList = query.where(DotDao.Properties.Value.ge(value - 1), DotDao.Properties.Value.le(value + 1))
.list();

详情http://greendao-orm.com/documentation/queries/