我无法弄清楚如何选择以下内容:
123 -> 123.00000
123.12 -> 123.12000
123.123456 -> 123.123456
我想将小数位数扩展为例如5位小数(最小值) 如果根本没有小数位,则应该有5个零。 如果小数超过5位,则可以。
SELECT ROUND(123,5) FROM DUAL;
将导致:123 而不是123.00000
该数字具有默认精度。
这是可能的,还是应该将其转换为oracle number formats的
的varchar?我正在使用带有plsql的Oracle 10g。
答案 0 :(得分:8)
您可以使用以下内容:
SQL> SELECT X, to_char(X, 'fm99999999.00000999')
2 FROM (SELECT 123 X FROM dual UNION ALL
3 SELECT 123.12 FROM dual UNION ALL
4 SELECT 123.123456 FROM dual);
X TO_CHAR(X,'FM99999999.00000999
---------- ------------------------------
123 123.00000
123.12 123.12000
123.123456 123.123456
答案 1 :(得分:2)
您需要将其转换为Varchar,如下所示:
SELECT to_char(123, '9999.99999') from dual;
答案 2 :(得分:0)
如果要格式化数据,则必须使用to_char函数。在数字值中,尾随零被截断(它们无关紧要)。