You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PL/SQL中为字符串前置0以固定长度为20字符?

Oracle中快速实现固定长度前置补0的方法

嘿,你完全不用自己写自定义函数!Oracle内置的LPAD()函数就是专门干这个事儿的,完美匹配你的需求。

函数用法说明

LPAD()函数的作用是在字符串左侧填充指定字符,直到达到你想要的总长度,语法很简单:

LPAD(original_string, total_length, pad_character)
  • original_string:你要处理的原字符串(比如'1455'、'12345678')
  • total_length:最终需要的字符串总长度,这里就是20
  • pad_character:用来填充的字符,这里指定为'0'就行

对应你需求的示例

  • 当原字符串是'1455'时:

    SELECT LPAD('1455', 20, '0') FROM DUAL;
    

    执行后会返回:00000000000000001455(正好20个字符)

  • 当原字符串是'12345678'时:

    SELECT LPAD('12345678', 20, '0') FROM DUAL;
    

    执行后会返回:00000000000012345678(也是20个字符)

额外注意点

如果你的原字符串长度超过20,LPAD()会直接返回原字符串的前20个字符(相当于截断过长的部分)。如果业务场景里存在这种情况需要特殊处理,可以结合LENGTH()函数先判断:

SELECT CASE 
         WHEN LENGTH(original_string) > 20 THEN SUBSTR(original_string, 1, 20)
         ELSE LPAD(original_string, 20, '0')
       END AS fixed_length_str
FROM your_table;

内容的提问来源于stack exchange,提问作者cihadakt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:46:35