Du kan gøre det på to måder.
Metode 1
Brug af LPAD .
For eksempel,
SQL> MED DATA(num) AS( 2 SELECT 540 FROM dual UNION ALL 3 SELECT 60 FROM dual UNION ALL 4 SELECT 2 FROM dual 5 ) 6 SELECT num, lpad(num, 5, '0') num_pad FRA DATA; NUM NUM_P--------- ----- 540 00540 60 00060 2 00002SQL>
WITH-klausulen er kun til at bygge eksempeldata til demo, i din faktiske forespørgsel skal du bare gøre:
lpad(removal_count, 5, '0')
Husk et nummer kan ikke have førende nuller . Outputtet af ovenstående forespørgsel er en streng og ikke et nummer .
Metode 2
Bruger TO_CHAR og formatmodel:
SQL> MED DATA(tal) AS( 2 SELECT 540 FROM dual UNION ALL 3 SELECT 60 FROM dual UNION ALL 4 SELECT 2 FROM dual 5 ) 6 SELECT num, to_char(num, '00000') num_pad FROM DATA; NUM NUM_PA---------- ------ 540 00540 60 00060 2 00002SQL>
Opdater :Brug FM for at undgå det ekstra indledende mellemrum, som bruges til minustegn i TO_CHAR
format:
Uden FM:
SELECT TO_CHAR(1, '00000') num_pad, LENGTH(TO_CHAR(1, '00000')) tot_lenFROM dual;NUM_PAD TOT_LEN------- ---------- 00001 6
Med FM:
SELECT TO_CHAR(1, 'FM00000') num_pad, LENGTH(TO_CHAR(1, 'FM00000')) tot_lenFROM dual;NUM_PAD TOT_LEN------- ---------- 00001 5