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