在sysdate中添加1年

时间:2013-08-22 07:56:42

标签: sql oracle

我正在尝试编写一个存储过程来打印明年的最后一天

我今年最后一次约会,但我想要30/8/2014

我已经尝试了以下内容:

IF LAST_DAY( add_months( SYSDATE, 12 )-1)

但它没有给我任何输出。

3 个答案:

答案 0 :(得分:4)

你为什么用-1?以下方法可行:

select last_day(add_months(sysdate, 12)) from dual

如果您在SQL * Plus中运行此操作并且未启用打印,则可能无法获得输出。尝试:

set serveroutput on

答案 1 :(得分:0)

如果您的要求是2014年8月30日,请使用以下

select last_day(add_months(sysdate, 12))-1 from dual

如果要求是月份的最后日期,您可以使用Ben的答案

答案 2 :(得分:0)

试试这个

SELECT add_months(LAST_DAY(SYSDATE),12) as NextYearDate from Dual

愿这对你有所帮助。

SQL Fiddle Demo