OrmLite где предложение и SQL между java.util.date - PullRequest
2 голосов
/ 22 декабря 2011

Я пытаюсь создать запрос с предложением where, который фильтрует между датами.Мой запрос выглядит примерно так:

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

Но он не работает.Я строю свой запрос с QueryBuilder и использую selectRaw(...) и queryRaw(...).Кто-нибудь может помочь?

1 Ответ

12 голосов
/ 22 декабря 2011

Да, это не сработает, потому что в Android поля Date сохраняются как строки, которые не сравниваются при использовании SQL between. Один из способов исправить это - хранить Date поля как длинные:

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

Это будет хранить Date как длинное число миллисекунд эпохи, которое сопоставимо и которое будет работать с between.

...