Er zijn hier eigenlijk 3 tijdzones, niet 2
- de tijdzone van de sessie/client
- Getoond in SESSIONTIMEZONE
- Dit is de tijdzone van CURRENT_DATE, LOCALTIMESTAMP en CURRENT_TIMESTAMP. Het verschil tussen die 3 is het retourtype, ze retourneren respectievelijk een DATE, TIMESTAMP en TIMESTAMP WITH TIME ZONE)
- De tijdzone van de database
- Getoond in DBTIMEZONE
- Dit is de tijdzone die wordt gebruikt voor de interne opslag van TIMESTAMP MET LOKALE TIJDZONE-waarden. Merk op dat waarden worden geconverteerd naar/van sessietijdzone bij invoegen/selecteren, dus het is eigenlijk niet zo belangrijk als het lijkt
- Dit is NIET de tijdzone van SYSDATE/SYSTIMESTAMP
- De tijdzone van het database-besturingssysteem
- In Unix is het gebaseerd op de TZ-variabele wanneer Oracle wordt gestart
- Dit is de tijdzone van SYSDATE en SYSTIMESTAMP
In uw eerste voorbeeld kan ik zien dat de sessie TZ UTC-6 is, de database TZ UTC is en de tijdzone van het database-besturingssysteem UTC-6 is.
In uw tweede voorbeeld kan ik zien dat de sessie TZ UTC-6 is, de database TZ UTC+2 is en de tijdzone van het database-besturingssysteem UTC+1 is.