У меня все даты вставлены в таблицу как varchar2 (10) и отформатированы как «мм / дд / гггг». Что мне нужно, это следующий формат «мм-дд-гггг» и тип данных даты.
Моя реализация без PLSQL будет:
</p>
<pre><code>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);
Результат: 21-1-2000, а не 21-01-2000, как ожидалось.
При добавлении дополнительного to_date (,) как:
to_date(day||'-'||month||'-'||year,'DD-MM-YYYY') as formatted_date
он даже не меняет поля дня и месяца с помощью eachother.