😊
【Silver DBA】タイムゾーン
タイムゾーン
国や地域ごとの日時の基準(標準時)を使用する国や地域のこと。
日本はAsia/Tokyo。
タイムゾーンは タイムゾーンリージョン名
か、タイムゾーンオフセット
で指定。
タイムゾーンリージョン名
Asia/Tokyoなどの国や地域名。
タイムゾーンオフセット
+9:00など、UTCとの差。
Oracleの日時データ型
データ型 | 内容 |
---|---|
DATE | 日付と時刻 |
TIMESTAMP | 日付と時刻(小数秒を含む) |
TIMESTAMP WITH TIME ZONE | 日付と時刻(小数秒を含む)、タイムゾーン情報 |
TIMESTAMP WITH LOCAL TIME ZONE | 正規化された日付と時刻(小数秒を含む) |
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH TIME ZONE型は NLS_TIMESTAMP_TZ_FORMAT初期化パラメータ
に設定した書式モデルで表示。
TIMESTAMP WITH LOCAL TIME ZONE
指定された日時をデータベースのタイムゾーンに正規化してデータベースに保存。
データベースのタイムゾーンはUTCに設定することが推奨されているので、
指定された日時はUTCに変換されてデータベースに変換されることが多い。
現在日時を戻すファンクション
ファンクション | 基準 | 戻すデータ型 |
---|---|---|
CURRENT_DATE | Oracleセッションのタイムゾーン | DATE |
CURRET_TIMESTAMP | Oracleセッションのタイムゾーン | TIMESTAMP WITH TIME ZONE |
LOCALTIMESTAMP | Oracleセッションのタイムゾーン | TIMESTAMP |
SYSDATE | データベースサーバーのOSのタイムゾーン | DATE |
SYSTIMESTAMP | データベースサーバーのOSのタイムゾーン | TIMESTAMP WITH TIME ZONE |
Oracleセッションのタイムゾーン
以下のコマンドで取得できる。
SELECT sessiontimezone FROM dual;
Discussion