2つの方法でそれを行うことができます。
方法1
LPADの使用 。
たとえば、
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>
WITH句は、デモ用のサンプルデータを作成するためだけのものであり、実際のクエリでは次のようにします。
lpad(removal_count, 5, '0')
番号を覚えておいてください 先行ゼロを持つことはできません 。上記のクエリの出力は文字列です 番号ではありません 。
方法2
TO_CHARの使用 およびフォーマットモデル:
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>
更新 :マイナス記号に使用される余分な先頭のスペースを避けるために、 FMを使用してください TO_CHAR
内 フォーマット:
FMなし:
SELECT TO_CHAR(1, '00000') num_pad,
LENGTH(TO_CHAR(1, '00000')) tot_len
FROM dual;
NUM_PAD TOT_LEN
------- ----------
00001 6
FMの場合:
SELECT TO_CHAR(1, 'FM00000') num_pad,
LENGTH(TO_CHAR(1, 'FM00000')) tot_len
FROM dual;
NUM_PAD TOT_LEN
------- ----------
00001 5