简单快捷的问题
如果列中包含小数值
number
10.20
13.4000
15.987
我想从显示无小数
的输出中删除小数 number
1020
134000
15987
我试过了
select replace(number, '.','') from table
我得到了结果,但还有其他方法可以解决它。
答案 0 :(得分:0)
显然,你正在处理的价值观是字符串,不是吗?否则,你不会拥有所有那些尾随零。
无论如何,如果碰巧这些都是数字,那么一些数学可能会产生预期的结果。例如:
SQL> with test (num) as
2 (select 10.201 from dual union
3 select 13.4000 from dual union
4 select 15.987 from dual
5 )
6 select num,
7 num * power(10, to_number(length(to_char(num - trunc(num))) - 1)) result
8 from test;
NUM RESULT
---------- ----------
10,201 10201
13,4 134
15,987 15987
SQL>