我有一个表"日期";带有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)