oracle sql中的自定义舍入逻辑

问题描述 投票:1回答:1

大家好我正在尝试创建一个自定义逻辑,用于舍入规则中指定的小数。

规则规定任何小数值在.01到.05之间的小数应该具有.05值。任何介于.06到.09之间的值应等于.10。

例如

1.05 => 1.05
1.84 => 1.85
1.06 => 1.10
1.79 => 1.80

我尝试使用oracle网站here中指定的公式。但它不起作用见下面的代码

select 
round(1.05 * power(10,2) + .05) * power(10,-2) as Rounding1
, round(1.84 * power(10,2) + .05) * power(10,-2) as Rounding2
, round(1.06 * power(10,2) + .05) * power(10,-2) as Rounding3
, round(1.79 * power(10,2) + .05) * power(10,-2) as Rounding4
from dual;

关于如何实现这一点的任何想法?

sql oracle rounding
1个回答
1
投票

我认为这种逻辑符合你的要求:

select ceil(num * 20) / 20 from tablename 
© www.soinside.com 2019 - 2024. All rights reserved.