Obtener año, mes o día de un campo fecha en Oracle con EXTRACT.

A veces es necesario obtener sólo una parte de una fecha de un campo tipo datetime en sentencias SQL en Oracle. En un post pasado se explicó como obtener sólo el año, mes o día con la función to_char(). Ahora vamos a ver cómo obtener los mismos datos pero con la función extract().

En el ejemplo siguiente vamos a ver como obtener el día, mes o año de la fecha actual de la base de datos oracle:

-- Obtiene el día 
SELECT EXTRACT(DAY FROM sysdate) FROM dual;

--Obtiene el mes
SELECT EXTRACT(MONTH FROM sysdate) FROM dual;

--Obtiene el año 
SELECT EXTRACT(YEAR FROM sysdate) FROM dual;

A diferencia de la función to_char() que regresa un tipo caracter o alfanumérico, la función extract() regresa el resultado de tipo numérico.

La función extract() también puede extraer la hora, minuto y segundo de un dato tipo datetime:

-- Obtiene la hora 
SELECT EXTRACT(HOUR FROM systimestamp) FROM dual;

--Obtiene el minuto
SELECT EXTRACT(MINUTE FROM systimestamp) FROM dual;

--Obtiene el segundo 
SELECT EXTRACT(SECOND FROM systimestamp) FROM dual;

¡Espero y les sea útil!

 

Deja un comentario