Это работает, но почему? Как ГГГГММДД можно использовать как ГГГГ-ММ-ДД?
select to_date(TO_CHAR(sysdate, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') from dual
to_date() - это задокументировано игнорирование знаков препинания в этом случае:
to_date()
При преобразовании строковых значений в значения даты применяются следующие дополнительные правила форматирования (если вы не использовали FX или модификаторы FXFM в модели формата для контроля точной проверки формата): Вы можете опустить знаки препинания, включенные в строку формата, из строки даты, если все цифры элементов числового формата, включая ведущие нули, указаны. Например, укажите 02, а не 2 для элементов формата two-di git, таких как MM, DD и YY.
При преобразовании строковых значений в значения даты применяются следующие дополнительные правила форматирования (если вы не использовали FX или модификаторы FXFM в модели формата для контроля точной проверки формата):