给定时间范围内的PostgreSQL日期范围

时间:2019-09-10 12:34:01

标签: postgresql date-range

我在表格中有以下记录,如下图。最后一个时期是2019年12月。

Table structure and data

我想列出自当前日期起2年(向后)范围内的时间段。

例如:今天09/10/2019,列出了从01/01/2017到12/12/2019的时间段

我很难在下面组装查询。

SELECT c_period_id, name, startdate, enddate 
FROM adempiere.C_Period 
WHERE startdate BETWEEN now() - INTERVAL '2 year' AND now() 
order by startdate desc

1 个答案:

答案 0 :(得分:0)

我不确定您的问题是什么,但是如果将日期四舍五入到年份边界,这可能会起作用:

WHERE startdate >= date_trunc('year', current_timestamp) - INTERVAL '2 years'
  AND startdate <  date_trunc('year', current_timestamp) + INTERVAL '1 year'