Sql 甲骨文将于次年10月返回

Sql 甲骨文将于次年10月返回,sql,oracle,date,Sql,Oracle,Date,从甲骨文内部,我想返回下一个10月的年份 i、 e今天(2014年3月5日),下一个10月是2014年,但当我在2014年11月运行同一段SQL时,我希望它返回2015年,因为下一个10月是次年。你的意思是这样的: SELECT CASE WHEN EXTRACT(MONTH FROM sysdate)<10 THEN TO_CHAR(sysdate, 'YYYY') ELSE TO_CHAR((sysdate + interval '1' year), 'YYYY') END AS y

从甲骨文内部,我想返回下一个10月的年份


i、 e今天(2014年3月5日),下一个10月是2014年,但当我在2014年11月运行同一段SQL时,我希望它返回2015年,因为下一个10月是次年。

你的意思是这样的:

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;
提取时选择CASE(从sysdate开始的月份)尝试以下操作:

select extract (year from add_months(sysdate, 2)) from dual;
测试日期:


非常感谢你们俩,让它从你们的代码中运行起来了
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;