在Oracle中添加小数点和零

时间:2015-07-07 11:55:17

标签: sql oracle number-formatting

有没有办法指定double数据类型在小数点之后总是有2个点,就像货币通常有的那样(oracle db)?

即:

100 will be converted to 100.00
101.1 will be converted to 101.10

尝试投射它并设置精度 - 但没有运气它没有添加默认小数点和零

SELECT CAST((600.2) AS NUMERIC(28,2)) FROM DUAL;

给我600.2

2 个答案:

答案 0 :(得分:2)

SELECT to_char(101, '999.90') FROM DUAL;
SELECT to_char(101.1, '999.90') FROM DUAL;

答案 1 :(得分:1)

只是在客户端格式化输出。

例如,在SQL * Plus中设置 numformat

SQL> set numformat 999.99
SQL> SELECT CAST((600.2) AS NUMERIC(28,2)) FROM DUAL;

CAST((600.2)ASNUMERIC(28,2))
----------------------------
                      600.20

您也可以使用 TO_CHAR ,但只能用它来显示,对于任何数字运算,您都应该保留数字。

SQL> select to_char(600.2, '000.00') from dual;

TO_CHAR
-------
 600.20