ROUND スカラー関数

ROUND 関数は、小数点の右側または左側の指定された桁数まで丸めた数値を戻します。

構文図を読むビジュアルシンタックスダイアグラムをスキップする ROUND ( numeric-expression-1 ,0,numeric-expression-2 )

スキーマは SYSIBM です。

numeric-expression-1
組み込み数値データ・タイプの値を戻す式。

expression-1 が 10 進浮動小数点データ・タイプの場合、DECFLOAT ROUNDING MODE は使用しません。 ROUND の丸めの動作は、ROUND_HALF_UP の値に対応します。 別の丸め動作が必要ならば QUANTIZE 関数を使用してください。

引数を、文字ストリングまたはグラフィック・ストリングのデータ・タイプにすることもできます。 ストリング入力は、暗黙的に DECFLOAT(34) の数値にキャストされます。

numeric-expression-2

組み込みの数値ストリング、文字ストリング、またはグラフィック・ストリングのデータ・タイプの値を返す式。 値がタイプ INTEGER でない場合、その値は関数を評価する前に暗黙的に INTEGER にキャストされます。

整数の絶対値は、numeric-expression-2 が負でない場合、結果の小数点の右側の桁数を指定します。 numeric-expression-2 が負の場合は、numeric-expression-1 の小数点の左側が、numeric-expression-2 の絶対値に 1 を加えた桁までに丸められます。

numeric-expression-2 の絶対値が小数点の左側の桁数より大きい場合は、結果は 0 になります。 (例えば、ROUND(748.58,-4)は 0 を返します。)

numeric-expression-1 が正の場合、桁の値 5 は次に大きい正数に丸められます。 numeric-expression-1 が負の場合、桁の値 5 は次に小さい負の数値に丸められます。

関数の結果は、最初の引数と同じデータ・タイプと長さ属性を持ちます。ただし、 精度は、引数が DECIMAL で精度が 31 より低い場合には、1 増加します。 例えば、データ・タイプが DECIMAL(5,2) の引数の結果は DECIMAL(6,2) に なります。 データ・タイプ DECIMAL(31,2) の引数は DECIMAL(31,2) になります。

結果は NULL 値になることがあります。いずれかの引数が NULL 値である場合、結果は NULL 値になります。

例 1: 数値「873.726」を、それぞれ小数点以下の桁数「2」、「1」、「0」、「-1」、および「-2」までに丸めて計算します。
   SELECT ROUND(873.726,2),
          ROUND(873.726,1),
          ROUND(873.726,0),
          ROUND(873.726,-1),
          ROUND(873.726,-2),
          ROUND(873.726,-3),
          ROUND(873.726,-4)
     FROM SYSIBM.SYSDUMMY1;
この例は、値「0873.730」、 「0873.700」、 「0874.000」、 「0870.000」、 「0900.000」、 「1000.000」、 および「0000.000」を戻します。
例 2: 正および負の数値を丸める方法を示すために、数値「3.5」、 「3.1」、 「-3.1」、 「-3.5」を小数位 「0」に丸めます。
   SELECT ROUND(3.5,0),
          ROUND(3.1,0),
          ROUND(-3.1,0),
          ROUND(-3.5,0)
     FROM SYSIBM.SYSDUMMY1;
この例は、値「04.0」、「03.0」、「-03.0」、および「-04.0」を戻します。 (正の値「3.5」は、次に高い数値に丸められ、負の値「-3.5」は、次に低い負の数値に丸められていることに注意してください。)