【发布时间】:2010-04-30 10:38:53
【问题描述】:
我想知道过去 7 天的记录。我想在 where 条件下写一个查询。我对sqlite有非常基本的了解。请帮我解决这个问题。
【问题讨论】:
我想知道过去 7 天的记录。我想在 where 条件下写一个查询。我对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 不会跟踪您的表格行是何时添加的。如果您需要这种行为,您应该添加一个时间戳列,并在插入新行时在其中设置当前时间。
【讨论】: