而若要取得 "前後幾個月的第一天與最後一天", 可以由此進行變化 :
說明
1) 先利用 add_months 取得前後幾個月.
2) 再搭配使用 to_char 與 to_date 做轉換.
範例: 兩個月後, 該月份的第一天
select to_date(to_char(add_months( to_date('2008-01-30','YYYY-MM-DD'), 2)
, 'YYYY-MM') || '-01'
, 'YYYY-MM-DD')
from dual;
-- 結果: 01-MAR-2008
範例: 兩個月後, 該月份的最後一天
select to_date(to_char(add_months( to_date('2008-01-30','YYYY-MM-DD'), 2+1)
, 'YYYY-MM') || '-01'
, 'YYYY-MM-DD') - 1
from dual;
-- 結果: 31-MAR-2008