La función EXTRACT en Oracle devuelve la parte de la fecha u hora especificada. En función del tipo de dato podremos extraer un campo u otro.
TIPO DATO | CAMPO DISPONIBLE |
---|---|
DATE | year, month, day |
INTERVAL YEAR TO MONTH | year, month |
INTERVAL DAY TO SECOND | day, hour, minute, second |
TIMESTAMP | year, month, day, hour, minute, second |
Sintaxis
Escribe la siguiente sintaxis para utilizarlo:
EXTRACT(campo FROM origen)
Esta función consta de dos argumentos obligatorios:
- campo: parte que se quiere extraer como por ejemplo year, day, etc.
- origen: fecha de la que se va a extraer el primer argumento.
Ejemplo
Extraer de una fecha el año, mes y día
SELECT EXTRACT( YEAR FROM TO_DATE( '26-SEP-1986 15:30:00 ', 'DD-Mon-YYYY HH24:MI:SS' ) ) "AÑO", EXTRACT( MONTH FROM TO_DATE( '26-SEP-1986 15:30:00 ', 'DD-Mon-YYYY HH24:MI:SS' ) ) MES, EXTRACT( DAY FROM TO_DATE( '26-SEP-1986 15:30:00 ', 'DD-Mon-YYYY HH24:MI:SS' ) ) DIA FROM DUAL;
Extraer hora, minuto y segundo de la fecha del sistema
SELECT TO_CHAR( SYSDATE, 'HH24' ) hora, TO_CHAR( SYSDATE, 'MI' ) minuto, TO_CHAR( SYSDATE, 'SS' ) segundo FROM DUAL;