Я пересмотрел базу данных моей комнаты с String Dates на Date, которая хранится как Long, используя преобразователи типов. Я не могу отфильтровать свои результаты по конкретным c временам, например -7 дней или 3 месяца и т.д. c. Вот моя конфигурация:
QUERY
SELECT *
FROM moodBeforetable
WHERE moodBeforetable.workoutDate >= datetime('now', '-1 year')
ORDER BY moodBeforetable.workoutDate DESC
LiveData<List<WorkoutLogsAllPojo>> getAllMoodLogs();
Запрос отлично работает, когда предложение WHERE закомментировано, однако, если я включу эту строку выше, данные не будут возвращены.
Эта переменная moodBeforetable.workoutDate является DATE, но хранится в базе данных как Long: 1590705660000
Type Converter
@TypeConverter
public static Date toDate(Long timestamp){
return timestamp == null ? null : new Date(timestamp);
}
@TypeConverter
public static Long toTimestamp(Date date){
return date == null ? null : date.getTime();
}
Любая помощь по root причине, почему предложение WHERE Мы будем очень признательны, если не вернем никаких данных или указанное количество строк.