Oracle需要删除小数点

时间:2018-03-19 15:52:27

标签: sql oracle

简单快捷的问题

如果列中包含小数值

               number
                 10.20
                 13.4000
                 15.987

我想从显示无小数

的输出中删除小数
                  number
                   1020
                   134000
                   15987

我试过了

                     select replace(number, '.','') from table

我得到了结果,但还有其他方法可以解决它。

1 个答案:

答案 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>