Sie können dies auf zwei Arten tun.
Methode 1
Mit LPAD .
Zum Beispiel
SQL> WITH 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 FROM DATA;
NUM NUM_P
---------- -----
540 00540
60 00060
2 00002
SQL>
Die WITH-Klausel dient nur dazu, Beispieldaten für die Demo zu erstellen, in Ihrer eigentlichen Abfrage tun Sie einfach:
lpad(removal_count, 5, '0')
Denken Sie daran, eine Zahl darf keine führenden Nullen haben . Die Ausgabe der obigen Abfrage ist ein String und keine Nummer .
Methode 2
Verwenden von TO_CHAR und Formatmodell:
SQL> WITH 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, to_char(num, '00000') num_pad FROM DATA;
NUM NUM_PA
---------- ------
540 00540
60 00060
2 00002
SQL>
Aktualisieren :Um das zusätzliche führende Leerzeichen zu vermeiden, das für das Minuszeichen verwendet wird, verwenden Sie FM im TO_CHAR
Format:
Ohne FM:
SELECT TO_CHAR(1, '00000') num_pad,
LENGTH(TO_CHAR(1, '00000')) tot_len
FROM dual;
NUM_PAD TOT_LEN
------- ----------
00001 6
Mit FM:
SELECT TO_CHAR(1, 'FM00000') num_pad,
LENGTH(TO_CHAR(1, 'FM00000')) tot_len
FROM dual;
NUM_PAD TOT_LEN
------- ----------
00001 5