我有一个要求,我总是需要用小数点显示数字。 db列的数据类型是number的数据类型。
如果值为1.25,则显示为1.25 但如果值为1,它会显示为1,我需要将值显示为1.00。
一旦我得到十进制格式的结果,我需要执行rpad
(右边填充)操作。
如果没有小数,整数的值将与数据库中的值不同。
示例:
SELECT RPAD(ROUND(12,2), 5 ,0) AS test
FROM DUAL;
结果为12000,而我预期为12.00。
任何关于此的指示都会有所帮助。 谢谢!
答案 0 :(得分:2)
使用适当的to_char
电话。像
SELECT to_char( <<your number>>, '0.00' )
FROM dual;
当传入值1时,将返回字符串“1.00”。如果传入值0,则返回字符串“0.00”。如果传入的值为1.25,则返回字符串“1.25”。
答案 1 :(得分:1)
尝试使用数字格式和TO_CHAR函数,如下:
SELECT TO_CHAR(12, 99.99) AS test
FROM DUAL;
<强>参考强>:
您可以找到与格式化数字here的其他方式相关的文档。
答案 2 :(得分:0)
试试这个:
select TRIM(to_char(100.5, '99999999.00')) FROM DUAL
格式规范如下: http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i34570