我有一个重复表,用于存储iCalendar RFC 5545重现规则字符串。前任:
FREQ=MONTHLY;INTERVAL=2
有谁知道与以下类似的postgres函数吗?
get_events_between(date,date)
它只查询递归表并解析rrule字符串。
最佳答案
在PostgreSQL中,从版本11开始,没有对RFC-5545重现规则格式的内置支持。
但是有一个自定义扩展名pg_rrule。安装它时,您应该可以通过以下方式查询Ical计划:
SELECT *
FROM unnest(
get_occurrences(
'FREQ=MONTHLY;INTERVAL=2'::rrule,
now(),
now() + '6 months'::interval
)
);
或者,您必须构建自己的RRULE解析器。
PS。我不知道此扩展的稳定性如何。刚刚注意到它的存在,使用谷歌搜索:-)