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