In realtà ci sono 3 fusi orari qui, non 2
- il fuso orario della sessione/client
- Mostrato in SESSIONTIMEZONE
- Questo è il fuso orario di CURRENT_DATE, LOCALTIMESTAMP e CURRENT_TIMESTAMP. La differenza tra questi 3 è il tipo di ritorno, restituiscono rispettivamente una DATA, TIMESTAMP e TIMESTAMP CON FUSO ORARIO)
- Il fuso orario del database
- Mostrato in DBTIMEZONE
- Questo è il fuso orario utilizzato per la memorizzazione interna dei valori TIMESTAMP CON FUSO ORARIO LOCALE. Nota che i valori vengono convertiti in/dal fuso orario della sessione all'inserimento/selezione, quindi in realtà non è così importante come sembra
- Questo NON è il fuso orario di SYSDATE/SYSTIMESTAMP
- Il fuso orario del sistema operativo del database
- In unix, si basa sulla variabile TZ all'avvio di Oracle
- Questo è il fuso orario di SYSDATE e SYSTIMESTAMP
Nel tuo primo esempio, posso vedere che la sessione TZ è UTC-6, la TZ del database è UTC e il fuso orario del sistema operativo del database è UTC-6.
Nel tuo secondo esempio, posso vedere che la sessione TZ è UTC-6, la TZ del database è UTC+2 e il fuso orario del sistema operativo del database è UTC+1.