1

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

我得到了今年的最后一个日期,但我想要 2014 年 8 月 30 日

我已经尝试了以下方法:

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

但它没有给我任何输出。

4

3 回答 3

5

你为什么用-1?以下将起作用:

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

如果您在 SQL*Plus 中运行它并且未启用打印,您可能没有得到任何输出。尝试:

set serveroutput on
于 2013-08-22T08:01:45.573 回答
0

试试这个

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

愿这对你有所帮助。

SQL 小提琴演示

于 2013-08-22T08:23:28.063 回答
0

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

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

如果要求是本月的最后一天,您可以使用 Ben's Answer

于 2013-08-22T08:08:36.297 回答