select round(849299099755.3,2) from dual;
给出
849299099755.3
我如何在这里获得849299099755.30
???
答案 0 :(得分:3)
将数据类型转换为DECIMAL
SELECT CONVERT(DECIMAL(15,2), ROUND(849299099755.3,2))
或
SELECT STR(ROUND(849299099755.3,2), 20, 2)
答案 1 :(得分:1)
SQL Server
:
select convert(numeric(28,2),round(849299099755.3,2)) from dual;
答案 2 :(得分:1)
对于Oracle:
ROUND函数返回一个NUMBER,round(849299099755.3,2)
确实等于849299099755.3
,因此它正常工作。但是,当您想要显示它时,它将使用会话的默认数字格式设置。
要使用两位小数格式对其进行格式化,可以使用TO_CHAR
函数,例如:
SELECT TO_CHAR(round(849299099755.3,2),'999999999990.00') FROM DUAL;