Ten eerste:Getallen hebben geen voorloopnullen . Dus wanneer u de NUMBER-waarden opslaat, laat u ze zich gedragen als NUMBER's. alleen als u ze wilt weergeven, kunt u LPAD
. gebruiken en voeg de voorloopnullen toe. Die het getal omzet in een string met voorloopnullen.
U hoeft de tabel dus niet bij te werken. Gebruik LPAD
om ze weer te geven zoals u dat wilt.
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
Gebruik TO_CHAR
. om impliciete conversie van gegevenstypen te voorkomen voor het toepassen van LPAD
.