ここには実際には2つではなく3つのタイムゾーンがあります
- セッション/クライアントのタイムゾーン
- SESSIONTIMEZONEに表示
- これは、CURRENT_DATE、LOCALTIMESTAMP、およびCURRENT_TIMESTAMPのタイムゾーンです。これら3つの違いは戻りタイプであり、それぞれDATE、TIMESTAMP、およびTIMESTAMP WITH TIME ZONEを返します)
- データベースのタイムゾーン
- DBTIMEZONEに表示
- これは、TIMESTAMP WITH LOCALTIMEZONE値の内部ストレージに使用されるタイムゾーンです。値は挿入/選択時にセッションタイムゾーンとの間で変換されるため、実際には見た目ほど重要ではないことに注意してください。
- これはSYSDATE/SYSTIMESTAMPのタイムゾーンではありません
- データベースOSのタイムゾーン
- UNIXでは、Oracleの起動時のTZ変数に基づいています
- これはSYSDATEとSYSTIMESTAMPのタイムゾーンです
最初の例では、セッションTZがUTC-6、データベースTZがUTC、データベースOSタイムゾーンがUTC-6であることがわかります。
2番目の例では、セッションTZがUTC-6、データベースTZがUTC + 2、データベースOSタイムゾーンがUTC+1であることがわかります。