每年更新PLSQL中的日期

时间:2016-06-09 03:53:38

标签: sql oracle plsql

我想把日期01/12 /(当前年份 - 1) 换句话说,如果是2016年,我希望变量为01/12/15,如果它是2017年的01/12/16 ..依此类推 使用PLSQL。有没有办法做到这一点?如果是这样,非常感谢你的帮助:D!

4 个答案:

答案 0 :(得分:1)

这可以通过SQL查询来实现 select add_months( sysdate, -12) from dual;

或者如果你过去的一年,这可以通过功能来实现。

create or replace
function  Yr (P_Year Date)

Return Date
As
Out_Year Date;
begin
Select Add_Months( P_Year, -12) Into Out_Year From Dual;
return out_year;
end;

select yr(sysdate) from dual;
output :-09-JUN-15 

答案 1 :(得分:1)

trunc( sysdate, 'YYYY' )

将为您提供当年的1月1日。

add_months( trunc( sysdate, 'YYYY' ), -12 )

将为您提供上一年的1月1日

add_months( trunc( sysdate, 'YYYY' ), -12 ) + 11

将为您提供上一年的1月12日

答案 2 :(得分:1)

试试这个希望这会有所帮助。

shutdownNow()

答案 3 :(得分:0)

您可以尝试下面提到的以下代码段

SELECT ADD_MONTHS (SYSDATE, -12)
   FROM dual;