繁体   English   中英

将前导零附加到字段

[英]Append leading zeros to a field

当整数的长度小于7位时,我想附加前导零。 如果整数的长度大于或等于7位数字,则应返回实际的整数。 我已经尝试过下面的sql

select to_char(123456, 'fm0000000');
to_char 
---------
0123456
(1 row)

当位数> 7时,它返回字符串以下

select to_char(12345678, 'fm0000000');
to_char 
---------
#######
(1 row)

当位数大于7时,如何获得精确的整数? 提前致谢

您可以使用lpad()

select (case when len(123412345::text) >= 8 then 123412345::text
             else lpad(123412345::text, 8, '0')
        end)

使用lpad函数加CASE语句:

select
  case
    when length(123456::text) < 7 then lpad(123456::text, 7, '0')
    else 123456::text
  end;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM