问题描述
我想做一个选择,将小数点添加到整数中,但是当我这样做时,它向我显示一堆 # 而不是那些数字。
SELECT to_char(1234,'99.99');
我期望的是值为 12.34 的表,但我的选择中有 ##.##。 但是,如果我这样做
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
:使用语言环境 的组分隔符
-
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