我有一个维护每月历史数据的关系。此数据在每个月的最后一天添加到表中。然后可以调用我正在编写的服务,指定要检索历史数据的月份和月份。我通过创建 startDate 和 endDate 变量,然后返回两者之间的数据来做到这一点。我遇到的问题是 startDate 是 endDate 之前的可变月数,我无法弄清楚如何在间隔中使用可变期间。
这是我所拥有的:
DECLARE
endDate TIMESTAMP := (DATE_TRUNC('MONTH',$2) + INTERVAL '1 MONTH') - INTERVAL '1 DAY';
startDate TIMESTAMP := endDate - INTERVAL $3 'MONTH';
我知道 startDate 的行不正确。这是如何正确完成的?