oracle 获取两个时间相差天数,以及指定一个日期相差天数后的日期

1、获取两个时间相差天数

-- 两个日期相差天数
select (trunc(TO_DATE( '2024-02-28', 'YYYY-MM-DD' ) -TO_DATE( '2024-02-25', 'YYYY-MM-DD' ) )+1)  from dual

2、获取日期减去指定天数后的时间

-- 两个日期相差天数的日期
select (TRUNC(TO_DATE( '2024-02-25', 'YYYY-MM-DD' )- (trunc(TO_DATE( '2024-02-28', 'YYYY-MM-DD' ) -TO_DATE( '2024-02-25', 'YYYY-MM-DD' ) )+1) + ROWNUM -1)) from dual

3、获取指定日期减去指定月数后的时间

select TO_CHAR(ADD_MONTHS(TO_DATE('2024-02' , 'YYYY-MM' ) , -12), 'YYYY-MM') from dual