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
总是一个坏主意。
我有点卡在一个地方了。我想在下周、下个月 之前从 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
总是一个坏主意。