You are on page 1of 3

EXTRACT Function in Oracle

EXTRACT function extracts and returns the value of a specified datetime field from a datetime or interval value expression. The field you are extracting must be a field of the datetime_value_expr or interval_value_expr. For example, you can extract only YEAR, MONTH, and DAY from a DATE value. Likewise, you can extract TIMEZONE_HOUR and TIMEZONE_MINUTE only from the TIMESTAMP WITH TIME ZONE datatype.

Example:
SQL> SELECT EXTRACT (year FROM hiredate) FROM emp

WHERE ename='SCOTT';

EXTRACT (YEARFROMHIREDATE) ------------------------1987 SQL> SELECT EXTRACT (month FROM hiredate) FROM emp WHERE ename='SCOTT';

EXTRACT (MONTHFROMHIREDATE) -------------------------4

SQL> SELECT EXTRACT (day FROM hiredate) FROM emp WHERE ename='SCOTT';

EXTRACT (DAYFROMHIREDATE) -----------------------19 SQL> SELECT EXTRACT (HOUR FROM TO_TIMESTAMP ('20-DEC2011 06:30:00', DD-MON-YYYY HH24: MI: SS)) AS HOUR FROM dual; HOUR ---------6 SQL> SELECT EXTRACT (MINUTE FROM TO_TIMESTAMP ('20DEC-2011 06:30:00', DD-MON-YYYY HH24: MI: SS)) AS MINUTE FROM dual; MINUTE -----------30 SQL> SELECT EXTRACT (SECOND FROM TO_TIMESTAMP ('20DEC-2011 06:30:00', DD-MON-YYYY HH24: MI: SS)) AS SECOND FROM dual;

SECOND -----------0 SQL> SELECT EXTRACT (TIMEZONE_HOUR FROM TO_TIMESTAMP_TZ ('20-DEC-2011 06:30:00 +05:30', 'DDMON-YYYY HH: MI: SS TZH: TZM)) AS TZH FROM dual; TZH ---------5 SQL> SQL> SELECT EXTRACT (TIMEZONE_MINUTE FROM TO_TIMESTAMP_TZ ('20-DEC-2011 06:30:00 +05:30', 'DDMON-YYYY HH: MI: SS TZH: TZM)) AS TZM FROM dual; TZM ----------30

You might also like