我想转换这个值" 2167.124"至" 2167.13"在oracle 11g中使用round函数。问题是它转换了LIKE" 2167.12" 但我需要" 2167.13"。
请帮助,提前致谢
答案 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