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