我需要知道过去7天的记录。我想在where条件下写一个查询。我对sqlite有非常基本的了解。请帮我解决这个问题。
答案 0 :(得分:2)
您需要将日期存储在数据库的其中一列中。在我的应用程序中,我将NSDate(显然是iPhone)转换为double,用于使用timeIntervalSinceReferenceDate存储在DB中。鉴于我可以查询日期范围。
我编写的函数用于计算过去/未来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转换为日期时间字符串,因为我不相信所有各种时区和不同语言环境格式化日期的方式来回转换。
答案 1 :(得分:1)
sqlite不会跟踪添加表行的时间。如果您需要此行为,则应添加时间戳列,并在插入新行时设置其中的当前时间。