TO_DATE не требует от вас наличия каких-либо разделяющих символов между вашими датами.Также стоит обратить внимание на то, что в будущем вы можете указать, что если пользовательский ввод содержит символы, которые oracle не заботится (он заботится только о таких частях даты, как dd, mm, yyyy), то они могут быть чем угодно.Все это прекрасно работает:
SELECT to_date('12/12/2012', 'dd/mm/yyyy') from dual
SELECT to_date('12-12-2012', 'dd/mm/yyyy') from dual
SELECT to_date('12@12;2012', 'dd#mm%yyyy') from dual
To_date не настаивает на том, чтобы символы разделителя и другой игнорируемый текст в изображении формата даты совпадали с игнорируемым текстом на входе