sqlite数据库-下周、下月查询

sqLite database -next week, next Month query

我有点卡在一个地方了。我想在下周、下个月 之前从 android 中的 SQLite 数据库中加载数据。但是无法做到 尽管我上次尝试过一周和上个月的查询,运行良好。 如果有人可以帮助我进行查询,那将会很有帮助。

对于上周和上个月,我使用了以下答案中的查询并且运行良好。 Query last day, last week, last month SQLite

但是如果我想加载下周和下个月的数据,那么查询是什么? 我尝试了以下查询但没有用。

SELECT  *  FROM AT_ActivityTrackerEntry   WHERE AT_ActivityTrackerEntry.DeadlineDate BETWEEN datetime('now', '6 days') AND datetime('now', 'localtime')  limit 10 

SELECT  *  FROM AT_ActivityTrackerEntry   WHERE AT_ActivityTrackerEntry.DeadlineDate BETWEEN datetime('now', 'localtime') AND datetime('now', '+6 days')  limit 10 

第一个查询:

SELECT * FROM AT_ActivityTrackerEntry   
WHERE AT_ActivityTrackerEntry.DeadlineDate 
      BETWEEN datetime('now', '6 days') AND datetime('now', 'localtime')  
limit 10

是错误的,因为 datetime('now', '6 days') 大于 datetime('now', 'localtime'),因此 BETWEEN 失败并且您得不到任何结果。

第二个查询:

SELECT * FROM AT_ActivityTrackerEntry   
WHERE AT_ActivityTrackerEntry.DeadlineDate 
      BETWEEN datetime('now', 'localtime') AND datetime('now', '+6 days')  
limit 10  

应该 return 正确的结果,尽管在这两种情况下您都应该使用(或不使用)修饰符 'localtime'

BETWEEN datetime('now', 'localtime') AND datetime('now', 'localtime', '+6 days')

也许您应该添加 7 天而不是 6

从现在开始的下个月,您还可以:

BETWEEN datetime('now', 'localtime') AND datetime('now', 'localtime', '+1 month')

请注意,没有 ORDER BY 子句的 limit 总是一个坏主意。