逗号分隔数字而无需预先了解 Postgres 中的位数

meh*_*met 9 postgresql

在 Postgres 9.5 中:

select to_char(111, 'FM9,999'); -- gives 111
select to_char(1111, 'FM9,999'); -- gives 1,111
select to_char(11111, 'FM9,999'); -- gives #,### !!!
Run Code Online (Sandbox Code Playgroud)

如何在没有预先了解/假设最大可能数字数的情况下用逗号格式化我的数字,最好使用上面的内置内容?

McN*_*ets 11

添加另一个数字或最大可能值:

select to_char(11111, 'FM9,999,999');
Run Code Online (Sandbox Code Playgroud)

  • 我需要一个没有预先知识/假设最大可能数字数的解决方案 (4认同)
  • 这将正常工作,只需使您的格式足够大,以便可以存储在 DB 中的最大可能值。最大 int 值为 20 亿,因此“FM9,999,999,999”将全部显示。 (3认同)
  • 如果你使用“sum(some_column)”,那么你可以很容易地超过 20 亿的限制。 (3认同)