OrmLite where子句和SQL之间用java.util.date

时间:2011-12-22 14:55:14

标签: android ormlite

我尝试使用where子句创建一个查询,该子句在日期之间进行过滤。我的查询看起来像

java.util.Date date1 = ...
java.util.Date date2 = ...
where().between("datefield", date1, date2)

但它不起作用。我正在使用QueryBuilder构建查询,并使用selectRaw(...)queryRaw(...)。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:12)

是的,这不起作用,因为在Android下,Date字段被保存为字符串,在使用SQL between时无法正确比较。解决此问题的一种方法是将Date字段存储为多个字段:

@DatabaseField(dataType = DataType.DATE_LONG)
private Date dateField;

这会将Date存储为可与between进行比较且与{{1}}相当的纪元毫秒长数。