首页 > 解决方案 > 在oracle sql中获取小数点的正确部分

问题描述

我正在做一个计算,结果是一个十进制数。我想得到正确的小数部分。这在 Oracle SQL 中可能吗?

例如- 1/4 = 0.25

我需要使用 oracle sql 获取 25 部分。

select substr(TO_CHAR(ROUND((num1/num2)*24,2)), instr(TO_CHAR(ROUND((num1/num2),2)), '.') + 1) from dual

这有时有效,有时在 Oracle SQL 中是否有另一种方法可以将点拆分为十进制数字并获得正确的部分?

标签: sqloraclesplit

解决方案


$一种选择是在结果字符串 ( ) 的右侧获取锚定 ( ) 的数字to_char

SQL> select 1/4 value,
  2         regexp_substr(to_char(1/4), '\d+$') result
  3  from dual;

     VALUE RESULT
---------- ----------
       ,25 25

SQL>

推荐阅读