1
私のSQLiteデータベースの列は次のように定義されていますORMLite - 日付条件付きQueryBuilder
@DatabaseField(canBeNull = true)
public Date dateFound;
私はそれがこのように定義された参照sqliteのbroswer開くとき:
'dateFound' TIMESTAMP
を今、私は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());
されて出力される。
正しくないSELECT * FROM `record` WHERE (`amount` <> 0 OR `dateFound` >= ?)
、私もnew Timestamp(minusDays.toDate().getTime())
にしようとしたクエリを結果と同じだった。..