oracle sql中的自定义舍入逻辑

时间:2018-03-04 12:40:51

标签: sql oracle rounding

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

规则规定任何小数值在.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;

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

1 个答案:

答案 0 :(得分:1)

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

select ceil(num * 20) / 20 from tablename