从十进制中删除零

时间:2014-02-12 15:07:11

标签: sql oracle

我得到了这样的输出

0.00234690616839645663803848176618444236941

我想要的方式是

2.3

首先我删除零

select replace(0.00234690616839645663803848176618444236941,0)  from dual;

然后我尝试对它进行圆形功能,但它给我零任何想法我们怎么能得到这个

select round(replace(0.00234690616839645663803848176618444236941,0) ) from dual;

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

select round(0.00234690616839645663803848176618444236941 * 1000,1) from dual;

结果:

2.3

答案 1 :(得分:2)

当你删除零时,你会留下.23 .....

Select round (.23, 0)将返回0,因为您告诉数据库舍入到0小数位。

如果你将替换的结果乘以10,那么你想要的就是你想要的。不知道你在做什么是有道理的,但它确实有效:

select round (10 * (replace(0.00234690616839645663803848176618444236941,0)),1)  from dual;

SQL Fiddle