For det første, Tal har ikke foranstillede nuller . Så når du gemmer NUMBER-værdierne, lader du dem opføre sig som NUMBER. det er kun når du vil vise dem, du kan bruge LPAD
og tilføj de foranstillede nuller. Som omdanner tallet til en streng med foranstillede nuller.
Så det er ikke nødvendigt at opdatere tabellen. Brug LPAD
for at vise dem, som du ønsker.
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
For at undgå implicit datatypekonvertering skal du bruge TO_CHAR
før du anvender LPAD
.