知道如何从今天的日期中检索属于前一周的日期吗?



我有一个表"日期";带有ID和日期:(日期在时间戳中(

id start_date
1  2020-11-23 11:00:00
2  2020-11-23 12:00:00
3  2020-11-15 10:00:00
4  2020-11-24 09:00:00
5  2020-11-11 09:00:00
6  2020-11-24 13:00:00
7  2020-11-25 15:00:00

代码应该返回ids:

id
1
2
4
6
7

我尝试了以下几种:

select id
from dates
where dates.start_date > DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())+6 DAY) 
AND dates.start_date <= DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())-1 DAY)

但它似乎不起作用。我有一个语法错误:

错误:在"处或附近出现语法错误;DAYOFWEEK";

考虑一下今天的日期:2020-11-26我也在使用PostgreSQL!

您似乎想要:

select id
from t
where t.start_date > current_date - interval '7 day';

或者,也许——取决于你如何定义";周":

where t.start_date >= date_trunc('week', current_date) - interval '7 day' and
t.start_date < date_trunc('week', current_date)

相关内容

最新更新