Oracle SQL:将精简查询结果作为精度

时间:2016-06-29 19:29:29

标签: sql oracle

我看到我需要返回Oracle中一列的总和,我使用的查询是以下

select sum(scores) from table_x;

我想像这样

返回结果

如果结果是整数,比如1000,则输出应为1000.00(默认情况下,小数部分为2个精确数字)

如果结果是n位精度的小数,则应该返回结果,例如,如果sum = 1000.555666,那么我希望结果为1000.555666。

问题是当我修改查询以使用强制转换

select cast(sum(scores) as binary_double) from table_x

当总和为1000时,我得到结果为1000.0,但我想在小数部分(1000.00)中再多一个零,因为我对结果进行了字符串比较。尝试了许多解决方案,例如转换为不同的数据类型,但无法以我想要的形式获得整数结果。

1 个答案:

答案 0 :(得分:1)

尝试:

select to_char( sum(scores), 'FM9999999999D009999' )
from table_x;

有关详细信息,请参阅to_char函数的文档==> click