1
Ma colonne de base de données SQLite est définie comme ceci:ORMLite - QueryBuilder à la condition Date
@DatabaseField(canBeNull = true)
public Date dateFound;
quand j'ouvre broswer sqlite je vois qu'il est défini comme ceci:
'dateFound' TIMESTAMP
Maintenant, je crée QueryBuilder:
DateTime time=new DateTime();
DateTime minusDays = time.minusDays(4);
QueryBuilder<Record, Long> queryBuilder = DatabaseHelper.get().getRecordDao().queryBuilder();
Where<Record, Long> where = queryBuilder.where();
where.ne("amount",0);
where.or();
where.ge("dateFound",minusDays.toDate());
System.out.println(queryBuilder.prepareStatementString());
Et la sortie est:
SELECT * FROM `record` WHERE (`amount` <> 0 OR `dateFound` >= ?)
ce qui est inexact, j'ai même essayé avec new Timestamp(minusDays.toDate().getTime())
et requête résultante a été même ..