提问人:MikiK 提问时间:11/16/2023 最后编辑:MT0MikiK 更新时间:11/16/2023 访问量:46
下一年的第一天,在 Oracle 中滚动一年
First day of the next year with rolling year in Oracle
问:
我总是需要明年的 1 号来查询我的 Oracle。因此,从今天的角度来看,日期格式应如下所示:01-JAN-24
但是,一旦我们计算 2024 年,今年应该会自动调整。
我该怎么做?
答:
3赞
Littlefoot
11/16/2023
#1
一种选择是截断到年份(并得到今年 1 月 1 日),然后添加 12 个月。sysdate
要获得下一年的最后一天,请添加 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
1赞
Niqua
11/16/2023
#2
我认为是您需要的功能: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 个月
评论