从oracle 11g中的当前日期开始计算一年的到期日期

时间:2011-12-08 08:15:12

标签: sql oracle

从oracle的当前日期计算一年到期日的最佳方法是什么? PS:需要考虑闰年。

3 个答案:

答案 0 :(得分:5)

select (sysdate + interval '1' year ) from dual

更新(请参阅Justin Cave的评论)

select decode( to_char(sysdate, 'mmdd'), 
               '0229', 
               (sysdate-1) + interval '1' year, 
               (sysdate + interval '1' year ))
 from dual;

答案 1 :(得分:4)

您可以执行类似此查询的操作

 select add_months(to_date('08/12/2011','dd/mm/yyyy'),12) from dual;

答案 2 :(得分:4)

SELECT current_date + INTERVAL '1' YEAR FROM dual;

了解pros and cons in this thread。添加INTERVAL '1' YEAR可能会在2月29日失败。感谢@Justin提示。
(在PostgreSQL中你不会失败,你将在2月28日获得非闰年。)

Interval Literals in the Oracle manual