【问题标题】:GreenDao select in range with BETWEEN operatorGreenDao 使用 BETWEEN 运算符在范围内选择
【发布时间】:2015-10-27 16:13:05
【问题描述】:

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

Dot {
    String name;
    float value;
}

我想从我的数据库中提取所有值介于 value - 1 和 value + 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();

这可能吗,还是我必须使用一些原始查询?

【问题讨论】:

    标签: android sql sqlite greendao


    【解决方案1】:

    您可以使用 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/

    【讨论】:

    • 在数据库中。我不能只写值 - 1。我的 value 实际上是数据库列名。
    猜你喜欢
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多