ROUND

ROUND 関数は、expression–1 を、小数点の右側または左側の特定の桁で丸めた値を返します。

構文図を読む構文図をスキップする
>>-ROUND--(--expression-1--,--expression-2--)------------------><

expression–1
任意の組み込み数値、文字ストリング、 またはグラフィック・ストリングのデータ・タイプの値を戻す式。 ストリング引数は、関数を評価する前に倍精度の浮動小数点に変換されます。 ストリングを倍精度の浮動小数点に変換する方法については、DOUBLE_PRECISION または DOUBLEを参照してください。
expression-1 が 10 進浮動小数点データ・タイプの場合、DECFLOAT ROUNDING MODE は使用されません。ROUND の丸め動作は、ROUND_HALF_UP の値に対応します。別の丸め動作が必要な場合は、QUANTIZE 関数を使用します。
expression–2
組み込みデータ・タイプ BIGINT、INTEGER、または SMALLINT の値を戻す式。

expression–2 が正の場合、expression–1 は小数点の右側の expression–2 桁目で丸められます。

expression–2 が負の場合、expression–1 は小数点の左側の 1 + (expression–2 の絶対値) 桁に相当する桁で丸められます。 expression–2 の絶対値が小数点の左側の桁数より大きい場合、結果は 0 になります。(例えば、ROUND(748.58,-4) は 0 を返します。)

expression–1 が正で、その桁の値が 5 である場合は、次に大きい正の数に切り上げられます。 expression–1 が負で、その桁の値が 5 である場合は、次に低い負の数に切り下げられます。

結果のデータ・タイプおよび長さ属性は、最初の引数のデータ・タイプ および長さ属性と同じです。ただし、expression–1 が DECIMAL または NUMERIC であり、 精度が最大精度 (mp) より小さい場合は、精度は 1 だけ増加します。 例えば、データ・タイプが DECIMAL(5,2) の引数の場合、結果は DECIMAL(6,2) になります。 データ・タイプが DECIMAL(63,2) の引数の場合、結果は DECIMAL(63,2) になります。

どちらかの引数が NULL になる可能性がある場合は、結果も NULL になる可能性があります。 引数のどちらかが NULL である場合は、結果は NULL 値になります。

  • 数値 873.726 を、小数点から 2、1、0、-1、-2、-3、-4 の位置で丸めます。
      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
  • 正負両方の数値を計算します。
      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