日時式

日時式は、日時データ型の値を戻します。

datetime_expression::=

初期のexprは、データ型TIMESTAMPTIMESTAMP WITH TIME ZONEまたはTIMESTAMP WITH LOCAL TIME ZONEの値に評価される任意の式(スカラー副問合せ式を除く)です。DATEデータ型はサポートされません。このexpr自体がdatetime_expressionである場合は、カッコで囲む必要があります。

表2-5で定義される規則に従って、日時および期間を組み合せることができます。日時値を生成する3つの組合せは、日時式で有効です。

AT LOCALを指定すると、Oracleは現行のセッションのタイムゾーンを使用します。

AT TIME ZONEの設定は、次のように解析されます。

  • 文字列'[+|-]hh:mi 'は、タイムゾーンをUTCからのオフセットとして指定します。hhには時間数を指定します。miには分数を指定します。

  • DBTIMEZONE: Oracleは、データベースの作成中に(明示的またはデフォルトで)構築されたデータベース・タイムゾーンを使用します。

  • SESSIONTIMEZONE: デフォルトまたは最新のALTER SESSION文で設定されたセッションのタイムゾーンが使用されます。

  • time_zone_name: time_zone_nameで指定されたタイムゾーンのdatetime_value_exprが戻されます。有効なタイムゾーン地域名を表示するには、V$TIMEZONE_NAMES動的パフォーマンス・ビューに問合せを実行してください。

    ノート:

    夏時間機能には、タイムゾーン地域名が必要です。この名前は、大小2つのタイムゾーン・ファイルに格納されます。これらのファイルのうち、使用する環境および使用するOracle Databaseのリリースに応じて、いずれか一方がデフォルトのファイルになります。タイムゾーン・ファイルおよびタイムゾーン名の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

関連項目:

  • expr: exprが有効なタイムゾーン書式で文字列を戻す場合、Oracleは、そのタイムゾーンで入力を戻します。そうでない場合は、エラーが戻ります。

次の例は、タイムゾーンの日時の値を別のタイムゾーンに変換します。

SELECT FROM_TZ(CAST(TO_DATE('1999-12-01 11:00:00', 
      'YYYY-MM-DD HH:MI:SS') AS TIMESTAMP), 'America/New_York') 
   AT TIME ZONE 'America/Los_Angeles' "West Coast Time" 
   FROM DUAL;

West Coast Time
------------------------------------------------
01-DEC-99 08.00.00.000000 AM AMERICA/LOS_ANGELES