如何在甲骨文中进行整理

时间:2015-06-10 06:51:12

标签: oracle rounding

我想转换这个值" 2167.124"至" 2167.13"在oracle 11g中使用round函数。问题是它转换了LIKE" 2167.12" 但我需要" 2167.13"。

请帮助,提前致谢

2 个答案:

答案 0 :(得分:2)

如果您想转换给定值2167.12"至" 2167.13"请使用此

从双重选择ceil(2167.124 * 100)/ 100;

答案 1 :(得分:1)

扩展Sam的例子,乘以100有效地将小数点向右移动两个位置,所以你的值变为216712.4:

select 2167.124*100 as step1 from dual;

     STEP1
----------
  216712.4

然后在其上调用ceil,找到"大于或等于 n 的最小整数":

select ceil(216712.4) as step2 from dual;

     STEP2
----------
    216713

然后除以100有效地将小数点移回左侧相同的两个位置:

select 216713/100 as step3 from dual;

     STEP3
----------
   2167.13

将这三个步骤合并为一个语句得到:

select ceil(2167.124*100)/100 as result from dual;

    RESULT
----------
   2167.13