从Netezza数据库获取最近24个月的数据

时间:2017-03-23 18:42:41

标签: netezza

我想从我们的netteza数据库中提取最近24个月的数据,但不包括最近2个季度(当前季度和最后一个季度)。数据库中日期字段的格式如下:YYYY-Q-MM

2015411 = Year=2016  Quarter=4  month= 11
2013108 = Year=2013  Quarter=1  month= 8

预计的时间范围应该是2014年10月到2016年9月的数据。我们使用日历年1月到3月是Q1,4月到6月是Q2等。这是我正在使用的查询,但是它为最后27个提取了一切几个月,但我只想要过去的24个月,但不包括最近的两个季度。

select * from myTable where substring (month_key,1,4) || substring (month_key, 6,7) || ''01'' > CURRENT_DATE - INTERVAL ''27 months'' 

1 个答案:

答案 0 :(得分:2)

您可以使用内置季度评估。

下面的查询突出显示所需的值

select add_months(to_date(to_char(to_date(to_char(current_date,'YYYYQ'),'YYYYQ')-1,'YYYYQ'),'YYYYQ'),-24) as "24 months prior to 2 quarters ago"
,to_date(to_char(to_date(to_char(current_date,'YYYYQ'),'YYYYQ')-1,'YYYYQ'),'YYYYQ') "2 quarters ago"

这是你的例子:

select * from myTable 
where date_value between select add_months(to_date(to_char(to_date(to_char(current_date,'YYYYQ'),'YYYYQ')-1,'YYYYQ'),'YYYYQ'),-24)
and to_date(to_char(to_date(to_char(current_date,'YYYYQ'),'YYYYQ')-1,'YYYYQ'),'YYYYQ')