在Oracle内部,我希望返回下一个十月的年份。
即今天(2014年3月5日),明年10月属于2014年,但是当我在2014年11月运行相同的SQL时,我希望它能够在接下来的10月份重新回到2015年。
答案 0 :(得分:2)
试试这个:
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;
答案 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;