我需要知道过去7天的记录。我想写在那里条件的查询。我在sqlite中有非常基本的知识。请帮助我这个查询。找到前7天sqlite中的记录?
回答
您需要将日期存储在数据库中的某一列中。在我的应用程序中,我使用timeIntervalSinceReferenceDate将NSDate(显然是iPhone)转换为双精度数据存储在数据库中。鉴于我可以查询日期范围。
我编写函数计算过去/未来的午夜X天的NSDate,我用它来确定查询的startDate和endDate。下面是该代码的摘录,会给你一些想法:
char selectQuery[MAX_STR];
sprintf(selectQuery, "SELECT DateTime FROM Journal WHERE DateTime >= %f AND DateTime < %f;",
[startDate timeIntervalSinceReferenceDate],
[endDate timeIntervalSinceReferenceDate]);
我不想的NSDate转换为日期时间字符串,因为我不信任转换来回所有不同的时区和不同语言环境的日期格式。
sqlite不会跟踪添加表格行的时间。如果您需要此行为,则应添加时间戳列,并在插入新行时设置当前时间。
我可以使用between子句吗?我的意思是从当前日期和当前日期-7之间的列名选择*从表名顺序; – Praveen 2010-04-30 12:33:18
在sqlite中不存在。你可以做SELECT * FROM tablename WHERE columnname> currentdate - 60 * 60 * 24 * 7 ORDER BY columnname。您应该查看sqlite语法:sqlite.org/lang.html。我假设您将日期存储为UNIX时间戳 – 2010-04-30 13:07:13
BETWEEN * does *存在于SQLite中。 – dan04 2010-05-01 04:46:37
- 1. 查找X天前创建的记录
- 2. 查找前x天的记录吗?
- 3. 查找记录在10天前
- 4. 活动记录 - 查找在今天之前created_at的记录
- 5. 选择记录7天
- 6. MySQL前10天7天前
- 7. 使用MySQL选择查询7天完成前的记录
- 8. 什么是Sqlite SQL语句只查找今天的记录?
- 9. 为什么没有找到SQLite记录?
- 10. 从过去的7天获取记录
- 11. 最近7天的Sqlite SELECT *
- 12. SQLite/FoxPro更新无法使用=找到记录,但使用LIKE找到记录
- 13. 查询记录7/14/21/28 ...前几天在Mysql
- 14. 过去7天的MySQL计数记录按0记录分组,
- 15. 在mysql中显示记录从现在()到未来7天
- 16. 从MySQL获取最新记录(7天)
- 17. FC当在SQLite中查找记录时
- 18. Oracle SQL Where子句查找30天以前的日期记录
- 19. 如何获得绝对最后7天的数据,而不是SQLite iPhone中的最后7条记录
- 20. 使用datetime和php从1天,7天和30天前选择mysql db中的记录
- 21. 显示90天前的所有记录
- 22. 删除30天以前的mysql记录
- 23. 前一天的搜索记录
- 24. SQL - 检索最近7天的最后一天记录
- 25. 检索过去7天当天的最后一条记录
- 26. 最近7天更新记录每天的基础
- 27. SQLite的 - 记录
- 28. Mysql - 在记录之前N天创建的最近记录
- 29. Hibernate findById找不到先前找到的记录
- 30. 从当前日期到提前7天和过去7天询问数据
这是java的实际查询:select * from table_name where strftime('%Y-%m-%d',field_name)> = date('now',' - 6 days')和strftime('%Y- %m-%d',field_name)<= date('now')order by field_name desc; – Praveen 2010-04-30 14:37:37