GreenDao比较日期在条件

问题描述 投票:2回答:1

我有一个问题,而使用greendao。这是伟大的工作至今。但我认为这是当我尝试了比较日期的问题。以下是这样的

我有一个表可以调用它OrderTable。我有两个日期为列,订购日期和DeliveryDate。现在,我要选择那些记录DeliveryDate为空或者其订购日期为大于DeliveryDate

我想使这个在Where子句中选择记录。但它给我下面的错误

org.greenrobot.greendao.DaoException:非法日期值:预计java.util.Date或长期的价值org.greenrobot.greendao.Property@41d032a0

于是我在比较2个日期甚至为空不工作,即使我知道的日期在一些记录是空的无奈。

请帮我。我被困在里面。

android database sqlite greendao
1个回答
0
投票

为了检查是否Date对象为空或不是,我们需要使用这样的:

 daoSession.getModelDao().queryBuilder().where(ModelDao.Properties.SyncedAt.isNull()).list();

daoSession.getModelDao().queryBuilder().where(ModelDao.Properties.SyncedAt.isNotNull()).list();

为了比较,我们需要使用此日期:

gt() and lt()

        List<Model> items = daoSession.getModelDao().queryBuilder()
        .where(ModelDao.Properties.StartTime.gt(fourAMTomorrow),
        ModelDao.Properties.EndTime.lt(endAt), ModelDao.Properties.Date.eq(date))
        .list();

希望这会帮助别人。

© www.soinside.com 2019 - 2024. All rights reserved.