Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android GreenDao在范围内选择中间运算符_Android_Sql_Sqlite_Greendao - Fatal编程技术网

Android GreenDao在范围内选择中间运算符

Android GreenDao在范围内选择中间运算符,android,sql,sqlite,greendao,Android,Sql,Sqlite,Greendao,我使用GreenDao,并且我有一个由此类定义的实体: Dot { String name; float value; } 我想从我的数据库中提取所有的点,这些点的值介于-1和+1之间。SQL查询应该是这样的: SELECT * FROM dot WHERE value BETWEEN(value-1, value+1) 我可以在绿岛做同样的事情吗,也许: QueryBuilder<Dot> query = DotDao.queryBuilder(); query

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

Dot {
    String name;
    float value;
}
我想从我的数据库中提取所有的点,这些点的值介于-1和+1之间。SQL查询应该是这样的:

SELECT * FROM dot WHERE value BETWEEN(value-1, value+1)
我可以在绿岛做同样的事情吗,也许:

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

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

您可以使用AND运算符

例如:

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

详细信息

您可以使用和操作员

例如:

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

该值在数据库中。我不能只写值-1。我的值实际上是数据库列名。该值位于数据库内。我不能只写值-1。我的值实际上是数据库列名。