ROUND (数値)
構文
round_number::=
目的
ROUNDは、nを小数点以下integer桁に丸めた値を戻します。integerを指定しない場合、nは小数点以下が丸められます。integerが負の場合、nは小数点の左側に丸められます。
nには、任意の数値データ型、または暗黙的に数値データ型に変換可能な数値以外のデータ型を指定できます。integerを指定しない場合、このファンクションは、nの数値データ型と同じデータ型で値ROUND(n, 0)を戻します。integerを指定すると、このファンクションはNUMBERを戻します。
ROUNDは、次の規則を使用して実行されます。
-
nが0の場合、ROUNDはintegerに関係なく常に0を戻します。 -
nが負の場合、ROUND(n, integer)は、-ROUND(-n, integer)を戻します。 -
nが正の場合は、次のとおりです。ROUND(n, integer) = FLOOR(n * POWER(10, integer) + 0.5) * POWER(10, -integer)
NUMBER値に適用されたROUNDが、浮動小数点で表現された同じ値に適用されたROUNDと少し異なる場合があります。この結果の相違は、NUMBERと浮動小数点値の内部表現の違いから発生します。相違が発生した場合、その相違は丸められた桁で1になります。
関連項目:
-
暗黙的な変換の詳細は、表2-9を参照してください
-
Oracle Databaseによる
BINARY_FLOAT値およびBINARY_DOUBLE値の処理方法の詳細は、「浮動小数点数」を参照してください。 -
関連する操作を実行するファンクションの詳細は、「FLOOR (number)」、「CEIL (number)」、「TRUNC (number)」および「MOD」を参照してください
例
次の例では、数値を小数点以下1桁に丸めます。
SELECT ROUND(15.193,1) "Round" FROM DUAL;
Round
----------
15.2
次の例では、数値の小数点の左1桁を丸めます。
SELECT ROUND(15.193,-1) "Round" FROM DUAL;
Round
----------
20 