EXTRACT(日時)

構文

extract_datetime :: =

イラストの説明extract_datetime.gif

目的

EXTRACTは、の値を抽出して返します。日時または間隔の値の式から指定された日時フィールド。 TIMEZONE_REGIONまたはTIMEZONE_ABBR(省略形)を抽出すると、返される値は適切なタイムゾーン名または省略形を含む文字列になります。他の値のいずれかを抽出すると、返される値はグレゴリオ暦にあります。タイムゾーン値を使用して日時から抽出する場合、返される値はUTCです。タイムゾーン名とそれに対応する略語のリストについては、V$TIMEZONE_NAMES動的パフォーマンスビューをクエリしてください。

この関数は、非常にで日時フィールド値を操作するのに非常に役立ちます。以下の最初の例に示すように、大きなテーブル。

注:

タイムゾーン領域名は、夏時間機能に必要です。地域名は2つのタイムゾーンファイルに保存されます。デフォルトのタイムゾーンファイルは、パフォーマンスを最大化するために最も一般的なタイムゾーンのみを含む小さなファイルです。タイムゾーンがデフォルトファイルにない場合、ORA_TZFILE環境変数を使用して完全な(より大きな)ファイルへのパスを指定するまで、夏時間のサポートはありません。

日時フィールドと日時または間隔の値の式の組み合わせによっては、あいまいさが生じます。このような場合、OracleDatabaseはUNKNOWNを返します(追加情報については、以下の例を参照してください)。

抽出するフィールドは、

またはinterval_value_expr。たとえば、ivから抽出できるのはYEARMONTH、およびDAYのみです。 id = “3777035fed”>

の値。同様に、TIMEZONE_HOURTIMEZONE_MINUTETIMESTAMP TIME ZONEデータタイプ。

関連項目:

  • ORA_TZFILE環境変数の設定の詳細については、 『Oracle Database管理者ガイド』

  • Oracleデータベースグローバリゼーションサポートガイド。両方のファイルのタイムゾーン領域名の完全なリストについては

  • datetime_value_exprおよびinterval_value_expr

  • 動的パフォーマンスビューの詳細については、Oracleデータベースリファレンス

次の例では、oe.ordersテーブルから各月の注文数を返します。

次の例は1998年を返します。

SELECT EXTRACT(YEAR FROM DATE "1998-03-07") FROM DUAL;EXTRACT(YEARFROMDATE"1998-03-07")--------------------------------- 1998

次の例はサンプルテーブルhr.employeesから1998年以降に雇用されたすべての従業員を選択します。

次の例ではあいまいになるため、OracleはUNKNOWN

式にタイムゾーンの数値オフセットが指定されているため、あいまいさが生じます。その数値オフセットは、複数のタイムゾーン領域にマップされる場合があります。

Leave a Reply

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です