拥有一个带有created
字段的sqlite数据库,该字段是DATETIME类型。
我可以使用以下查询从过去60天内创建的数据库中提取所有项目:
SELECT * FROM TABLE where created >= date('now' , '-60 day')
我想要一个只从上周,周日到周六提取所有项目的查询。我将如何构建这样的查询?
答案 0 :(得分:1)
使用strftime,您可以检索星期几。因此,从当前日期减去该数字将为您提供上周日的日期(如果是星期日,则为今天)。
select date('now' , (select '-' || strftime('%w', date('now')) || ' days'))
您可以将此作为进一步追溯的基础。例如,此查询将为您提供最近星期日之前的星期日日期。
select date('now' ,
(select
'-'
|| (cast(strftime('%w', date('now')) as integer) + 7)
|| ' days'
))
因此,通过一些基本数学,您可以构建所需的日期范围。