【发布时间】:2021-12-30 16:26:56
【问题描述】:
Room 数据库使用日期/时间字段实现 Task 类。
@ColumnInfo(name = TaskEntry.COLUMN_CREATE_DATE)
@TypeConverters({LocalDateTimeConverter.class, LDateTimeConverter.class})
private LocalDateTime createDate;
@ColumnInfo(name = TaskEntry.COLUMN_FINISH_DATE)
@TypeConverters({LocalDateTimeConverter.class, LDateTimeConverter.class})
private LocalDateTime finishDate;
实现了一个功能,用于选择今天可用但未完成的任务,但其结果被忽略,并发出完整的任务列表,但没有选定日期范围。
@Query("Select * from " + TaskEntry.TABLE_NAME
+ " where (" + TaskEntry.COLUMN_CREATE_DATE + " >= :startDayTime"
+ " or " + TaskEntry.COLUMN_FINISH_DATE + " < :endDayTime)"
+ " and " + TaskEntry.COLUMN_FINISHED + " = 0")
LiveData<List<Task>> getLiveDailyTasks(Long startDayTime, Long endDayTime);
有人怀疑这种通过转换进行比较的方法行不通,但是这还能实现吗?
【问题讨论】:
标签: java android sql datetime android-room