我是postgres的新手,目前从sql server迁移到postgres并面临一些问题。请帮助我。
只要答案是整数,我就无法转换为十进制。每当答案是整数时,
十进制转换只会给出整数部分作为答案。
例如: - 如果结果为48,则十进制转换为48,而我想要48.00。
答案 0 :(得分:2)
您可以从使用numeric(4,2)
开始,而不是使用小数,例如:
t=# select 48::numeric(4,2);
numeric
---------
48.00
(1 row)
甚至:
t=# select 48*1.00;
?column?
----------
48.00
(1 row)
但请记住,您没有看到十进制的零并不意味着该数字不是十进制。例如,它仍然是浮动的:
t=# select 48::float;
float8
--------
48
(1 row)
答案 1 :(得分:0)
您可以使用语句
对值进行舍入select round(48,2);
它将返回48.00。您还可以舍入到更多小数点。