Допълнителното водещо място е за потенциалния знак минус. За да премахнете интервала, можете да използвате FM във формат:
SQL> select to_char(12,'FM000') from dual;
TO_C
----
012
Между другото, имайте предвид, че to_char приема аргумент NUMBER; to_char('012') се преобразува неявно в to_char(to_number('012')) =to_char(12)