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.