Saltar al contenido

Extraiga el mes y el año a partir de la fecha en Oracle

Recuerda que en la informática un problema casi siempre tiene más de una resoluciones, por lo tanto te enseñamos lo más óptimo y eficiente.

Solución:

Si el campo ya es una columna de fecha, simplemente puede convertirlo al formato que desee:

select ID_NO,CHECKED_DATE,ltrim(TO_CHAR(CHECKED_DATE,'mm-yyyy'),'0') AS A from Doctor_Checkup;

Si se trata de una columna de texto, primero deberá convertir a una fecha con formato:

select ID_NO,CHECKED_DATE,ltrim(TO_CHAR(TO_DATE(CHECKED_DATE,'dd/mm/yyyy'),'mm-yyyy'),'0') AS A from Doctor_Checkup;

Una fecha no tiene formato: se almacena internamente en la base de datos como 7 bytes (que representan año, mes, día, hora, minuto y segundo) y no se almacena hasta que la interfaz de usuario esté utilizando (es decir, SQL/Plus, SQL Developer, Java, etc.) intenta mostrárselo a usted, el usuario, y lo convierte en algo que encontraría significativo (generalmente un string) que la fecha tiene un formato.

Una cosa a tener en cuenta es que una fecha siempre tiene los componentes año, mes, día, hora, minuto y segundo. Haciendo:

to_date(TO_CHAR(CHECKED_DATE, 'MON-YYYY'), 'MON-YYYY')

Es efectivamente lo mismo que hacer:

TRUNC( Checked_Date, 'MM' )

y aún tendrá un día, una hora, un minuto y un segundo componente, pero se habrá truncado a la medianoche del primer día del mes. La interfaz de usuario puede tener sus preferencias configuradas para no mostrar el componente de tiempo (pero la fecha aún tendrá uno).

Lo que quieres hacer es convertir la fecha a un formato string:

select ID_NO,
       CHECKED_DATE,
       TRIM( LEADING '0' FROM TO_CHAR( CHECKED_DATE, 'MM-YYYY') ) AS A 
from   Doctor_Checkup;

o

select ID_NO,
       CHECKED_DATE,
       EXTRACT( MONTH FROM CHECKED_DATE )
         || '-' || EXTRACT( YEAR FROM CHECKED_DATE ) AS A 
from   Doctor_Checkup;

Llegar 1-2008 use el siguiente formato con ceros iniciales recortados:

select ID_NO,CHECKED_DATE,ltrim(TO_CHAR(CHECKED_DATE,'MM-YYYY'),'0') AS A from Doctor_Checkup; 

Sección de Reseñas y Valoraciones

Nos encantaría que puedieras comunicar este escrito si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *