sql - 在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 中是否有另一种方法可以将点拆分为十进制数字并获得正确的部分?
解决方案
$
一种选择是在结果字符串 ( ) 的右侧获取锚定 ( ) 的数字to_char
:
SQL> select 1/4 value,
2 regexp_substr(to_char(1/4), '\d+$') result
3 from dual;
VALUE RESULT
---------- ----------
,25 25
SQL>
推荐阅读
- python - 如果不满足要求,将类别合并到 1 个类别 - Python
- flutter - Flutter OverflowBox 在列中的下一个小部件后面
- bitcoin - Python USD 到 Satoshi
- c++ - 使用 `std::string_view` 参数并稍后将它们转换为 `std::string`?
- c++ - (Mac OS) 打开可执行 c++ 文件的问题
- c++ - vscode intellisense 找不到 cmake 项目中包含的头文件
- python - Selenium / Python:为什么在我的 for 循环迭代中找到第一个元素后,我的 Selenium find_element_by 不再找到元素?
- reactjs - Reactjs三元不显示返回
- android - 为什么我们需要在 Android Studio 中进行 Clean and Rebuild 项目
- spark-streaming - 如何使用 between join 加入 spark rdd?