【发布时间】:2023-03-17 10:47:01
【问题描述】:
我正在计算一个十进制数。我想得到正确的小数部分。这在 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 中是否有另一种方法可以将点拆分为十进制数字并获得正确的部分?
【问题讨论】:
-
Gordon 已经问过您结果是否必须是字符串或数字。但是还有更多的问题。如果输入(算术结果)是 2.398,那么期望的输出是什么? 39? 398?还是4?还是40?通过您的尝试,您将四舍五入到小数点后两位。如果你对该数字进行四舍五入,结果是 2.4,所以之后唯一有意义的输出是 4 或者可能是 40。另外:输入可以是负数吗?如果输入是-1.25,输出应该是什么?还是 25 岁?