欢迎光临
我们一直在努力

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)
未经允许不得转载:Ddmit » Oracle数字前添加0的两种方式

评论 抢沙发

登录

找回密码

注册