Tengo todas las fechas insertadas en la tabla como varchar2 (10) y formateadas como 'mm/dd/aaaa'. Lo que necesito es el siguiente formato 'mm-dd-aaaa' y el tipo de datos de fecha. Mi implementación sin PLSQL sería:
Oracle to_date, de mm/dd/aaaa a dd-mm-aaaa
select day||'-'||month||'-'||year as formatted_date from
(select
extract(day from (select to_date('1/21/2000','mm/dd/yyyy') from dual)) as day,
to_number(extract(month from (select to_date('1/21/2000','mm/dd/yyyy') from dual)),09) as month,
extract(year from (select to_date('1/21/2000','mm/dd/yyyy') from dual)) as year
from dual);
El resultado es: 21-1-2000 no 21-01-2000 como se esperaba.
Al añadir to_date adicional (,) como:
to_date(day||'-'||month||'-'||year,'DD-MM-YYYY') as formatted_date
que ni siquiera cambiar los campos día y el mes con unos de otros.
Puede dar formato al código fuente con el botón '{}' barra de herramientas. Por lo general, se ve mejor. –
Realmente debe almacenar las fechas como fechas –