使用 to_char 的 Postgresql 小数点

Postgresql decimal point using to_char

我想制作一个 select 将小数点加到整数中,但是当我这样做时,它显示的是一堆 # 而不是那些数字。

SELECT to_char(1234, '99.99');

我期望的是 table,值为 12.34,但我在 select 中得到了 ##.##。 但是,如果我这样做了

SELECT to_char(1234, '99,99');

如预期的那样显示为 12,34。问题是,我想要小数点而不是逗号。 我正在使用 PostgreSQL 13.2

欢迎来到 SO。您非常接近:)您使用的是哪个语言环境?检查此示例中的 en_US.UTF-8:

SELECT to_char(1234, '999G99');
 to_char 
---------
   12.34
(1 row)
  • G:使用 locale
  • 的组分隔符
  • D: 使用locale
  • 的小数点

勾选这个tutorial

您似乎想取最后 2 位数字并假装它们是小数。您不能使用预定义的 .D 格式,因为它们适用于真正的小数。

相反,您可以在双引号之间、最后 2 位数字之前打印点字符(与任何其他字符串一样):

 SELECT to_char(1234, '999"."99');
 to_char
---------
   12.34

PS:附带说明,您在第一个查询中得到了屏蔽输出,因为格式上没有足够的数字位置:

 SELECT to_char(1234, '9999.99');
 to_char
----------
  1234.00