select round(849299099755.3,2) from dual;
与える
849299099755.3
どうすれば849299099755.30
ここに着くことができますか?
select round(849299099755.3,2) from dual;
与える
849299099755.3
どうすれば849299099755.30
ここに着くことができますか?
データ型をに変換しますDECIMAL
SELECT CONVERT(DECIMAL(15,2), ROUND(849299099755.3,2))
また
SELECT STR(ROUND(849299099755.3,2), 20, 2)
の場合SQL Server
:
select convert(numeric(28,2),round(849299099755.3,2)) from dual;
Oracleの場合:
ROUND関数はNUMBERを返しますが、round(849299099755.3,2)
実際にはと等しい849299099755.3
ので、正しく機能しています。ただし、表示する場合は、セッションのデフォルトの数値形式設定が使用されます。
小数点以下2桁でフォーマットするには、次のTO_CHAR
関数を使用できます。
SELECT TO_CHAR(round(849299099755.3,2),'999999999990.00') FROM DUAL;