我在表中有一个日期范围列,我希望得到日期范围与要动态生成的给定日期范围重叠的所有行 - 让我们说[somedynamicdate-30days,somedynamicdate)。
如何动态创建此日期范围?
答案 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)