JavaScriptが無効になっています。
この状態では一部の情報が表示されず、すべての機能を利用することができません。
指定した日時フィールドの値を取り出す   
EXTRACT  ( element  FROM  datetime  )  
 
  
 
抽出する日付の要素
 
日付の要素 element 引数 年 YEAR 月 MONTH 日 DAY 時 HOUR 分 MINUTE 秒 SECOND 時 タイムゾーン TIMEZONE_HOUR 分 TIMEZONE_MINUTE タイムゾーン名称 TIMEZONE_REGION タイムゾーン略称 TIMEZONE_ABBR 
EXTRACT 関数の内容 
指定した日時フィールドの値を取り出す。ORA-30076: 抽出ソースの抽出フィールドが無効です  が発生する。
EXTRACT 使用例 
SQL> select EXTRACT EXTRACT EXTRACT EXTRACT EXTRACT EXTRACT ------------------- ------------------- -------------------- ------------------ 
2000-08-07 04:27:56                2000                    8                  7
2001-01-28 05:12:47                2001                    1                 28
2002-12-01 08:01:10                2002                   12                  1
2003-02-14 11:45:56                2003                    2                 14 抽出フィールドが 時(HOUR)以下の場合、FROM には TIMESTAMP 型の入力が必要
SQL> select EXTRACT EXTRACT EXTRACT EXTRACT EXTRACT EXTRACT -------------------- ------------------- --------------------- --------------------- 
2000-08-07 04:27:56                    4                    27                    56
2001-01-28 05:12:47                    5                    12                    47
2002-12-01 08:01:10                    8                     1                    10
2003-02-14 11:45:56                   11                    45                    56
2004-10-28 04:50:39                    4                    50                    39 
TIMEZONE_REGION はタイムゾーン名、TIMEZONE_ABBR はその略称となる。デフォルトで日本では Asia/Tokyo と JST が期待されたのであるが UNKNOWN/UNK になる。(+09:00 のエリアが複数国あるからかもしれない)ORA_SDTZ 環境変数  で設定することができる。
SQL> select current_timestamp EXTRACT current_timestamp EXTRACT current_timestamp dual CURRENT_TIMESTAMP ------------------------------------ ---------- ---------- 
07-07-07 12:41:21.406000 +09:00      UNKNOWN    UNK 
SQL> alter session set time_zone='Japan' ;
SQL> select current_timestamp EXTRACT current_timestamp EXTRACT current_timestamp dual CURRENT_TIMESTAMP ------------------------------------ ---------- ---------- 
07-07-07 12:41:21.421000 JAPAN       Japan      JST 
SQL> alter session set time_zone='Asia/Tokyo' ;
SQL> select current_timestamp EXTRACT current_timestamp EXTRACT current_timestamp dual CURRENT_TIMESTAMP ------------------------------------ ---------- ---------- 
07-07-07 12:41:21.437000 ASIA/TOKYO  Asia/Tokyo JST 日本とその周辺のタイムゾーンは +09:00
SQL> select EXTRACT EXTRACT EXTRACT EXTRACT -------------------- ---------------------------- ------------------------------ 
2002-12-01 08:01:10                             9                              0
2000-08-07 04:27:56                             9                              0
2001-01-28 05:12:47                             9                              0
2003-02-14 11:45:56                             9                              0
2004-10-28 04:50:39                             9                              0 EXTRACT と SYSTIMESTAMP,CURRENT_TIMESTAMP に関する豆知識   
EXTRACT 関数は 内部形式  における指定時間フィールドを取り出す。
SQL> select extract systimestamp extract localtimestamp dual EXTRACT EXTRACT ----------------------------- ------------------------------- 
                            0                               9 
のように「9時」を期待しているところを「0時」という標準時における結果を戻す。
もし SYSTIMESTAMP や CURRENT_TIMESTAMP を使って今の「〜時」を取得したいならば TIMESTAMP 型にキャストすると満足できる結果になる。
SQL> select extract cast systimestamp "FROM_SYSTIMESTAMP" ,
  2         extract localtimestamp dual EXTRACT ----------------- ------------------------------- 
                9                               9  
 
日付の操作に関連する内容