我的 Android SQLite 数据库中有这个表:
CREATE TABLE statistics (subject TEXT, hits INTEGER, fails INTEGER, date DATE)
date
字段存储在每个寄存器中的datetime('now', 'localtime')
。
现在我必须查询最后一天、上周和上个月的寄存器以显示一些统计信息。 我一直在尝试这样的事情
SELECT Timestamp, datetime('now', '-1 week') FROM statistics WHERE TimeStamp < datetime('now', '-1 week')
还有这个
SELECT * FROM statistics WHERE date BETWEEN datetime('now', localtime') AND datetime ( 'now', '-1 month')
并且不起作用:(
我该怎么做?
我可以通过在虚拟设备模拟器中简单地转发日期来检查查询是否正常吗?
谢谢!
最佳答案
我找到了这个解决方案。我希望它对你有用。
最后一天:
SELECT * FROM statistics WHERE date BETWEEN datetime('now', 'start of day') AND datetime('now', 'localtime');
上周:
SELECT * FROM statistics WHERE date BETWEEN datetime('now', '-6 days') AND datetime('now', 'localtime');
上个月:
SELECT * FROM statistics WHERE date BETWEEN datetime('now', 'start of month') AND datetime('now', 'localtime');
关于database - 查询最后一天、上周、上个月 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10504218/