我想在整数长度小于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 function plus CASE语句:

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

关于sql - 将前导零附加到字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54026024/

10-16 21:46