【发布时间】:2019-02-22 14:47:27
【问题描述】:
我正在开发一个应用程序,其中 Dates 在 Room 数据库中输入为 Strings,SimpleDateFormat 固定为 '%d/%m/%Y %H:%M:%S'(例如“26/12/2018 10:33:31”) .
在不改变数据库结构的情况下,我想查询一些按日期排序的结果。这应该看起来像这样(在Dao 内):
@Query("SELECT * FROM results ORDER BY stringToDate(startTime) DESC LIMIT :count")
List<Results> getLast(int count);
不幸的是,这会引发编译错误:“no such function: stringToDate”,无论该函数是否存在,即使它以适当的形式注释为TypeConverter。
此外,由于 String 被接受为 Room 类型,我不确定是否可以在这里开始使用 TypeConverter。
有什么方法可以在不修改数据库结构的情况下按Date 为String 订购?
【问题讨论】:
标签: android sql database sql-order-by android-room