2
select round(849299099755.3,2) from dual;

与える

849299099755.3

どうすれば849299099755.30ここに着くことができますか?

4

3 に答える 3

3

データ型をに変換しますDECIMAL

SELECT CONVERT(DECIMAL(15,2), ROUND(849299099755.3,2))

また

SELECT STR(ROUND(849299099755.3,2), 20, 2)
于 2013-02-19T06:54:51.593 に答える
1

の場合SQL Server

select convert(numeric(28,2),round(849299099755.3,2)) from dual;
于 2013-02-19T06:54:01.913 に答える
1

Oracleの場合:

ROUND関数はNUMBERを返しますが、round(849299099755.3,2)実際にはと等しい849299099755.3ので、正しく機能しています。ただし、表示する場合は、セッションのデフォルトの数値形式設定が使用されます。

小数点以下2桁でフォーマットするには、次のTO_CHAR関数を使用できます。

SELECT TO_CHAR(round(849299099755.3,2),'999999999990.00') FROM DUAL;
于 2013-02-19T08:06:13.640 に答える