您的位置:首页 > 数据库 > Oracle

Oracle中取某时间段月份列表、年份列表 ADD_MONTHS、MONTHS_BETWEEN

2013-06-01 13:44 483 查看
1.取得2005年1月到2005年12月的所有月份,根据这个就能推敲出其他的比如取详细日期列表,时间



select distinct (to_char(dt, 'yyyy-mm'))

from (select add_months(to_date('2005-01-01', 'yyyy-mm-dd'), rownum - 1) dt

from dual

connect by rownum <= to_date('2005-12-30', 'yyyy-mm-dd') -

to_date('2005-01-01', 'yyyy-mm-dd') + 1)





2.取得某年(1900年)到当年

( SELECT distinct TO_CHAR ( ADD_MONTHS (TO_DATE ('1900', 'YYYY'), ROWNUM - 1),'YYYY') NF

FROM DUAL

CONNECT BY ROWNUM <=MONTHS_BETWEEN (TO_DATE (TO_CHAR (SYSDATE, 'YYYY'), 'YYYY'),TO_DATE ('1900', 'YYYY'))+ 1)



3.取得当年的最近几年

select (to_number(to_char(sysdate,'yyyy'))-5+rownum) as year from ALL_OBJECTS where rownum < 16
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: