PGSQL语法用于获取去年1月或2月的最近两个月的记录

时间:2016-08-18 14:30:15

标签: postgresql

任何人都可以告诉我从去年1月开始获得去年最近2个月的记录的逻辑吗?例如:我想将2016年1月的销售额作为当月和2015年12月的销售额与上个月和2015年11月的两个月前进行比较。我试过这样,但如果是Jan或feb那就不行了

(case when extract(month from m.validfrom) = extract(month from current_date)-1 then 'Previous Month'
when extract(month from m.validfrom) = extract(month from current_date)-2 then 'Two Months Before'
when extract(month from m.validfrom) = extract(month from current_date) then 'Current Month' end ) as month,

1 个答案:

答案 0 :(得分:0)

date_trunc

case date_trunc('month', m.validfrom)
    when date_trunc('month', current_date - interval '1 month') then 'Previous Month'
    when date_trunc('month', current_date - interval '2 month') then 'Two Months Before'
    when date_trunc('month', current_date) then 'Current Month'
end as month