【发布时间】:2017-08-18 17:26:39
【问题描述】:
我正在尝试根据字段长度和十进制长度使用填充零和更多条件获得所需的输出,如下面定义的那样。我已经达到了部分解决方案,但还没有完全解决。这是我的要求。
对于给定的数字 179.237,在输出中我希望总长度为 12,只有 2 个小数位。小数点也要去掉。
给定输入(示例,但可以是任意长度):
179.237
预期输出(总长度为 12,末尾有 2 个小数,即截断并删除小数点):
000000017923
同时,如果给定数字的十进制值较少或没有(例如:179.2,我应该得到如下输出(右填充零)。
000000017920
我的代码:
SELECT LPAD(TRIM(RPAD(TO_CHAR(TO_NUMBER(REPLACE(179.237,'.')),9999999999.00),12)),12,'0') from dual;
我的输出:
000000179237
所以我想我错过了截断部分。另外请告知是否可以简化此代码,因为我的功能太多。非常感谢。
【问题讨论】:
标签: oracle plsql padding truncate