Postgres - 如何生成动态日期范围

时间:2017-12-22 21:05:40

标签: postgresql

我在表中有一个日期范围列,我希望得到日​​期范围与要动态生成的给定日期范围重叠的所有行 - 让我们说[somedynamicdate-30days,somedynamicdate)。

如何动态创建此日期范围?

1 个答案:

答案 0 :(得分:2)

使用适当的constructor,例如:

with my_data(d) as (
    values ('2017-12-01'::date)
)

select daterange(date(d- interval '30days'), d)
from my_data;

        daterange        
-------------------------
 [2017-11-01,2017-12-01)
(1 row)