有没有办法指定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
答案 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