Det ser inte ut som att du vill lägga till inledande nollor, det ser ut som att du inte konverterar ditt datum till en karaktär på precis det sätt du vill. datetime-formatmodellen av TO_CHAR() är extremt kraftfull, använd den till fullo.
select to_char(dt, 'yyyymmdd') as dayid
from atm_facts
För att faktiskt svara på din fråga kan du använda ett nummerformat modell med TO_CHAR() för att fylla med inledande s.
Till exempel returnerar följande 006
select to_char(6, 'fm009') from dual;
Du kan använda formatmodellmodifieraren fm
, som nämns i dokumenten ovan, för att ta bort inledande mellanslag vid behov.