0
我需要找到特定日期前一季度的价值。例如像我过去的日期作为2015年1月12日,我需要的结果是2014年如何在PostgreSQL中查找基于当前季度的上一季度值?
为第4季度如果我使用下面的查询,我得到的结果为0
SELECT EXTRACT(quarter FROM '2015-01-01'::timestamp) - 1;
Result : 0
有人可以让我知道如何获得我想要的结果,如上所述?
我需要找到特定日期前一季度的价值。例如像我过去的日期作为2015年1月12日,我需要的结果是2014年如何在PostgreSQL中查找基于当前季度的上一季度值?
为第4季度如果我使用下面的查询,我得到的结果为0
SELECT EXTRACT(quarter FROM '2015-01-01'::timestamp) - 1;
Result : 0
有人可以让我知道如何获得我想要的结果,如上所述?
你需要“TRUNC”日其季度开始,减去了一天,然后拿到季度该日期:
extract(quarter from date_trunc('quarter', date '2015-01-01')::date - 1)
如果你想拿到年终和您需要使用该季度to_char()
代替:
to_char(date_trunc('quarter', date '2015-01-01')::date - 1, 'yyyy-q');
如果我想获得前3个季度?对于2015年1月,我需要2014年的最后三个季度...... –
@YousufSultan:然后在循环中重复上面的代码,应用相同的原则。顺便说一句:在收到答案后稍后改变问题的范围并不是很好。你应该始终从一开始就说出你的_complete_问题。 –
我的错误道歉......将确保我从下一次提出我的确切要求... –