我有一个名为 daily_mood 的表,它有三 (3) 列,如下所示:
CREATE TABLE daily_mood (moodid INTEGER PRIMARY KEY autoincrement,mood TEXT,mooddate DATETIME)
它的数据看起来像这样:
现在,我想完全根据 mooddate 列选择/删除从当前日期到 24 小时之前的所有行。
我试过这样的查询:
SELECT *from daily_mood where mooddate>=datetime('now', '-1 day');
结果应该是上面数据的 1 行(最后一行)。但是这里有 2 行。像
结果应该是最后一行。任何人都可以帮助我吗?谢谢。
最佳答案
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
Calendar c = Calendar.getInstance();
c.setTimeMillis(System.currentTimeMillis());
c.add(Calendar.HOUR_OF_DAY, -24);
String query = "SELECT * from daily_mood WHERE mooddate >= " + "'" + dateFormat.format(c.getTime()) + "'";
关于android - 如何在 sqlite 中选择/删除当前时间之前 24 小时内的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12540915/