Тук всъщност има 3 часови зони, а не 2
- часовата зона на сесията/клиента
- Показва се в SESSIONTIMEZONE
- Това е часовата зона на CURRENT_DATE, LOCALTIMESTAMP и CURRENT_TIMESTAMP. Разликата между тези 3 е типът на връщане, те връщат съответно ДАТА, ЧАС И ЧАС С ЧАСОВА ЗОНА)
- Часовата зона на базата данни
- Показва се в DBTIMEZONE
- Това е часовата зона, използвана за вътрешното съхранение на TIMESTAMP С ЛОКАЛНА ЧАСОВА ЗОНА. Имайте предвид, че стойностите се преобразуват в/от часова зона на сесията при вмъкване/избиране, така че всъщност не е толкова важно, колкото изглежда
- Това НЕ е часовата зона на SYSDATE/SYSTIMESTAMP
- Часовата зона на ОС на базата данни
- В unix се базира на променливата TZ при стартиране на Oracle
- Това е часовата зона на SYSDATE и SYSTIMESTAMP
В първия ви пример виждам, че TZ на сесията е UTC-6, базата данни TZ е UTC, а часовата зона на операционната система на базата данни е UTC-6.
Във втория ви пример виждам, че TZ на сесията е UTC-6, базата данни TZ е UTC+2, а часовата зона на операционната система на базата данни е UTC+1.