1SELECT sysdate + 1 FROM dual; -- Tomorrow 12/01/2021 14:27:27
2SELECT trunc(sysdate) + 1 FROM dual; -- Tomorrow 12/01/2021 00:00:00
3SELECT sysdate + INTERVAL '20' DAY FROM DUAL; -- 20 days ahead (other way)
4SELECT sysdate + 1 / 24 FROM dual; -- 1 hour ahead
5SELECT sysdate + 1 / 24 / 60 FROM dual; -- 1 minute ahead
6SELECT add_months(trunc(sysdate), 1) FROM dual; -- 1 month ahead (no time)
7SELECT trunc(sysdate) + 30 FROM dual; -- 30 days ahead (no time)
8SELECT add_months(trunc(sysdate), +12*2) FROM dual; -- 2 years ahead (no time)
1(+/-)(n)(d/w/m/y)
2
3 -1d or +1d date before or after 1 day of the current date
4 -1w or +1w date before or after 1 week of the current date
5 +2m date after two months of the current date
1date + ( ( 365 / 12 ) * Number_months )
2
3//or
4
5DATE(
6 YEAR( date ) + FLOOR( ( MONTH ( date ) + 2 - 1 ) / 12 ),
7 MOD( MONTH ( date ) + 2 - 1 +
8 IF( DAY ( date ) > CASE( MOD( MONTH( date ) + 2 - 1, 12 ) + 1,
9 2, 28,
10 4, 30,
11 6, 30,
12 9, 30,
13 11, 30,
14 31 ), 1, 0 ), 12 ) + 1,
15 IF( DAY( date ) > CASE( MOD( MONTH( date ) + 2 - 1, 12 ) + 1,
16 2, 28,
17 4, 30,
18 6, 30,
19 9, 30,
20 11, 30,
21 31 ),
22 1, DAY( date )
23 )
24)