如何根据当前时间在sql中排序时间?
问题描述:
这个游标抓取当前日期之上的column dateday中的所有数据,并且它正确排序,时间列也被正确排序,我不断地获取当前时间之前发生的值。例如,我希望10:00:00返回,因为它比09:00:00高,但我不想要返回08:00:00,因为它已经发生。如何根据当前时间在sql中排序时间?
public Cursor GetFirstTime(){
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
Cursor nextTime = sqLiteDatabase.rawQuery("SELECT * FROM time_table where dateday >= date('now') AND time >= time('now') ORDER BY dateday, time ASC LIMIT 1",null);
return nextTime;
}
答
你应该想想刚刚存储自1/1/1970(calendar.getinstance().gettimeinmillis()
)毫秒的长期价值。有了这些,您只需要在数据库中存储一个长整型值,并且数据库查询将会更加简化:
COLUMN_DATE_TIME >= "specific long value"
+0
我要回答同样的问题。始终将您的日期/时间存储为Linux时代(https://en.wikipedia.org/wiki/Unix_time),这只是一个“长”,所以所有的比较都是非常简单的操作。 – Budius
显示一些示例数据。 –