Vous pouvez le faire de deux manières.
Méthode 1
Utilisation de LPAD .
Par exemple,
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>
La clause WITH sert uniquement à créer des exemples de données pour la démonstration, dans votre requête actuelle, faites simplement :
lpad(removal_count, 5, '0')
N'oubliez pas, un numéro ne peut pas avoir de zéros non significatifs . La sortie de la requête ci-dessus est une chaîne et non un numéro .
Méthode 2
Utilisation de TO_CHAR et modèle de format :
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>
Mettre à jour :Pour éviter l'espace supplémentaire utilisé pour le signe moins, utilisez FM dans le TO_CHAR
format :
Sans FM :
SELECT TO_CHAR(1, '00000') num_pad,
LENGTH(TO_CHAR(1, '00000')) tot_len
FROM dual;
NUM_PAD TOT_LEN
------- ----------
00001 6
Avec FM :
SELECT TO_CHAR(1, 'FM00000') num_pad,
LENGTH(TO_CHAR(1, 'FM00000')) tot_len
FROM dual;
NUM_PAD TOT_LEN
------- ----------
00001 5