Bạn có thể làm điều đó theo hai cách.
Phương pháp 1
Sử dụng LPAD .
Ví dụ,
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>
Mệnh đề WITH chỉ để xây dựng dữ liệu mẫu cho bản demo, trong truy vấn thực tế của bạn, chỉ cần thực hiện:
lpad(removal_count, 5, '0')
Hãy nhớ rằng, một số không được có số 0 đứng đầu . Đầu ra của truy vấn trên là một chuỗi và không phải là số .
Phương pháp 2
Sử dụng TO_CHAR và định dạng mô hình:
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>
Cập nhật :Để tránh dấu cách thừa ở đầu được sử dụng cho dấu trừ, hãy sử dụng FM trong TO_CHAR
định dạng:
Không có FM:
SELECT TO_CHAR(1, '00000') num_pad,
LENGTH(TO_CHAR(1, '00000')) tot_len
FROM dual;
NUM_PAD TOT_LEN
------- ----------
00001 6
Với FM:
SELECT TO_CHAR(1, 'FM00000') num_pad,
LENGTH(TO_CHAR(1, 'FM00000')) tot_len
FROM dual;
NUM_PAD TOT_LEN
------- ----------
00001 5