优米格
分享有营养的

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

BraUndress.png

有两种实现方式:

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?
赞(1)
未经允许禁止转载:优米格 » Oracle数字前添加0的两种方式

评论 抢沙发

合作&反馈&投稿

商务合作、问题反馈、投稿,欢迎联系

广告合作侵权联系