[Oracle] 年月を羅列する
SQLだけで指定した範囲の年月を羅列します。
前にも似たようなのを投稿したかも。。
ほかのプログラムで組み立ててもいいんですが、どうせならSQLだけで実現したいですよね。
-- 2014/12から2014/01間の年月文字列を取得する select to_char(add_months(to_date('2014/12','YYYY/MM'),-level + 1),'YYYY/MM') yyyymm from dual connect by level <= 12 * 1; -- 当月から12カ月前までの年月文字列を取得する select to_char(add_months(current_date,-level + 1),'YYYY/MM') yyyymm from dual connect by level <= 12 * 1; --5年分 select to_char(add_months(current_date,-level + 1),'YYYY/MM') yyyymm from dual connect by level <= 12 * 5;
YYYYMM ------- 2014/12 2014/11 2014/10 2014/09 2014/08 2014/07 2014/06 2014/05 2014/04 2014/03 2014/02 YYYYMM ------- 2014/01 12行が選択されました。
== ランキングに参加しています。ぜひクリックお願いします ==