By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'
alter session set nls_timestamp_format = 'YYYY-MM-DD HH24:MI:SS'
alter session set nls_timestamp_tz_format = 'YYYY-MM-DD HH24:MI:SS TZH:TZM'
select timestamp '2021-03-28 00:00:00 Europe/Berlin' as before_dst,
cast(timestamp '2021-03-28 00:00:00 Europe/Berlin' as date) as as_date,
cast(timestamp '2021-03-28 00:00:00 Europe/Berlin' as date) + 1 as plus_1_day_date,
from_tz(cast(cast(timestamp '2021-03-28 00:00:00 Europe/Berlin' as date) + 1 as timestamp), 'Europe/Berlin') as plus_1_day
from dual;
BEFORE_DST | AS_DATE | PLUS_1_DAY_DATE | PLUS_1_DAY |
---|---|---|---|
2021-03-28 00:00:00 +01:00 | 2021-03-28 00:00:00 | 2021-03-29 00:00:00 | 2021-03-29 00:00:00 +02:00 |
select timestamp '2021-03-28 00:00:00 Europe/Berlin' as before_dst,
cast(timestamp '2021-03-28 00:00:00 Europe/Berlin' as timestamp) as as_ts,
cast(timestamp '2021-03-28 00:00:00 Europe/Berlin' as timestamp) + 1 as plus_1_day_ts,
from_tz(cast(timestamp '2021-03-28 00:00:00 Europe/Berlin' as timestamp) + interval '1' day, 'Europe/Berlin') as plus_1_day
from dual;
BEFORE_DST | AS_TS | PLUS_1_DAY_TS | PLUS_1_DAY |
---|---|---|---|
2021-03-28 00:00:00 +01:00 | 2021-03-28 00:00:00 | 2021-03-29 00:00:00 | 2021-03-29 00:00:00 +02:00 |