Oracle将在接下来的10月回归

时间:2014-03-05 23:01:13

标签: sql oracle date

在Oracle内部,我希望返回下一个十月的年份。

即今天(2014年3月5日),明年10月属于2014年,但是当我在2014年11月运行相同的SQL时,我希望它能够在接下来的10月份重新回到2015年。

2 个答案:

答案 0 :(得分:2)

试试这个:

select extract (year from add_months(sysdate, 2)) from dual;

http://sqlfiddle.com/上测试:

select extract (year from add_months(to_date('31Oct2014', 'ddMONyyyy'), 2)) from dual;
select extract (year from add_months(to_date('1Nov2014', 'ddMONyyyy'), 2)) from dual;

答案 1 :(得分:0)

你的意思是这样的:

SELECT CASE WHEN EXTRACT(MONTH FROM sysdate)<10 THEN TO_CHAR(sysdate, 'YYYY') 
ELSE TO_CHAR((sysdate + interval '1' year), 'YYYY') END AS year FROM DUAL;