Запрос с датой в Android Комнате - PullRequest
0 голосов
/ 04 августа 2020

У меня есть таблица todo_db со столбцом dueDate, и я хочу запустить запрос, чтобы выбрать все, где dueDate соответствует заданной дате.

Я написал этот запрос в моем Дао

    @Query("SELECT * FROM todo_db WHERE dueDate LIKE :givenDate")
    List<todoEnt> getGivenDate(Date givenDate);

Чтобы использовать его, я вызываю экземпляр базы данных, я использую экземпляр Calendar и использую getTime ()

Calendar c;
Date dateToday;

c = Calendar.getInstance();
dateToday = c.getTime();

datalist = db.Maindao().getGivenDate(dateToday);

Я пробовал с

SELECT * FROM todo_db WHERE dueDate = :givenDate

и

SELECT * FROM todo_db WHERE dueDate < (strftime('%s', 'now'))

Я ценю любую помощь, которую вы можете оказать. Большое спасибо!

Изменить:

У меня есть TypeConverter, а dueDate - Date

@Entity(tableName = "todo_db")
public class todoEnt {
    @PrimaryKey(autoGenerate = true)
    public int id;

    @ColumnInfo(name = "title")
    public String todoTitle;

    @ColumnInfo(name = "description")
    public String todoDescription;

    @ColumnInfo(name = "dueDate")
    public Date todoDueDate;

}


public class Convertors {
    @TypeConverter
    public Date fromTimeStamp(Long value){
        return value == null ? null : new Date(value);
    }

    @TypeConverter
    public Long dateToTimestamp(Date date){
        return date == null ? null : date.getTime();
    }

}
...