No parece que desee agregar ceros iniciales, parece que no está convirtiendo su fecha en un carácter exactamente de la manera que desea. El modelo de formato de fecha y hora de TO_CHAR() es extremadamente poderoso, utilícelo al máximo.
select to_char(dt, 'yyyymmdd') as dayid
from atm_facts
Para responder realmente a su pregunta, puede usar un formato de número modelo con TO_CHAR() para rellenar con 's' iniciales.
Por ejemplo, lo siguiente devuelve 006
select to_char(6, 'fm009') from dual;
Puede usar el modificador de modelo de formato fm
, mencionado en los documentos anteriores, para eliminar los espacios iniciales si es necesario.