欢迎光临
感受代码之美

Oracle数字前添加0的两种方式

有两种实现方式:

1.方式一

SELECT num, lpad(num, 5, '0') num_pad FROM DATA;

NUM NUM_P
--- -----
540 00540
60  00060
 2  00002

2. 方式二

SELECT num, to_char(num, '00000') num_pad FROM DATA;

NUM NUM_P
--- -----
540 00540
60  00060
 2  00002

为了避免用于减号的多余前导空间,可以在TO_CHAR格式化的时候使用FM

不使用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

参考:

  1. How to add leading zero in a number in Oracle SQL query?
赞(0)
未经允许禁止转载:四个空格 » Oracle数字前添加0的两种方式

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址