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