Oracleで、日付値から任意の日付要素(年、月、日など)を取得するにはEXTRACT関数を使います。例えば、EXTRACT関数を使えば、2008-09-22という日付値から、月を取得すると09という値を取得することができます。

文法:

EXTRACT(element FROM date)

dateからelementで指定した日付要素を取得する。

使用例:現在の日付から月を取得する。

SELECT SYSDATE, EXTRACT(month FROM SYSDATE) FROM DUAL;

SYSDATE    EXTRACT(month FROM SYSDATE)
———————————————————————————
09-09-16     09

使用例:現在の日付から日を取得する。

SELECT SYSDATE, EXTRACT(day FROM SYSDATE) FROM DUAL;

SYSDATE    EXTRACT(day FROM SYSDATE)
—————————————————————————–
09-09-16     16

時、分、秒などの日付要素を取得したい場合は、TIMESTAMP型の値の指定が必要です。

使用例:現在の日付から分を取得する。

SELECT CURRENT_TIMESTAMP, EXTRACT(minute FROM CURRENT_TIMESTAMP) FROM DUAL;

CURRENT_TIMESTAMP            EXRTRACT(minute F………)
———————————————————————————————————
09-09-16 02:15:04.192000000 GMT     15

SQLコマンド辞典に戻る

Popular Posts: