För det första, Siffror har inga inledande nollor . Så när du lagrar NUMBER-värdena låter du dem bete sig som NUMBERs. det är bara när du vill visa dem, du kan använda LPAD
och lägg till de inledande nollorna. Som omvandlar talet till en sträng med inledande nollor.
Så du behöver inte uppdatera tabellen. Använd LPAD
för att visa dem som du vill.
SQL> WITH DATA AS
2 ( SELECT 1 ID FROM DUAL UNION ALL
3 SELECT 11 ID FROM DUAL
4 )
5 SELECT
6 LPAD(ID,5, 0) id
7 FROM DATA
8 /
ID
-----
00001
00011
För att undvika implicit datatypkonvertering, använd TO_CHAR
innan du använder LPAD
.