下一年的第一天,在Oracle中滚动一年

sqyvllje  于 7个月前  发布在  Oracle
关注(0)|答案(2)|浏览(106)

我总是需要在我的Oracle中查询下一年的第一天。因此,从今天的Angular 来看,日期格式应该是这样的:01-JAN-24
但是,今年应该会自动调整,只要我们算上2024年。
我该怎么做?

yqhsw0fo

yqhsw0fo1#

一种选择是将sysdate截断为 year(并获得今年1月1日),然后添加12个月。
要得到下一年的最后一天,请加上24个月(2年)并减去一天:

SQL> select add_months(trunc(sysdate, 'yyyy'), 12) first_day,
  2         add_months(trunc(sysdate, 'yyyy'), 24) - 1 last_day
  3  from dual;

FIRST_DAY           LAST_DAY
------------------- -------------------
01.01.2024 00:00:00 31.12.2024 00:00:00

字符串

oaxa6hgo

oaxa6hgo2#

我认为trunc(date)是你需要的函数:

select 
    trunc(sysdate, 'y') current_year
from 
    dual t1

字符串
返回当前年份的1月1日。

select 
    add_months(trunc(sysdate, 'y'), 12) shifted_year
from 
    dual t1


现在我们只要再加12个月

相关问题