2017-03-23 14 views
1

私は過去24ヶ月のデータを取得したいが、私たちのnettezaデータベースから最近2四半期(現在の四半期と前四半期)を除外したい。 YYYY-Q-MMNetezzaデータベースから過去24ヶ月のデータを取得する

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

予想される時間枠は、私たちは月に暦年月を使用している9月2016年に2014年10月からのデータであるべきでは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'' 

答えて

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') 
+0

はありがとうございました – moe

関連する問題