宣言
ROUND(X)
ROUND(X,D)
説明
指定された長さまたは精度まで四捨五入して、数値を返します。
パラメータ X を返し、その値は最も近い整数に近づけられます。2つのパラメータが指定されている場合、X の値は小数点以下 D 桁まで保持され、D 桁目は四捨五入されます。X の値の小数点より左側の D 桁を切り捨てる場合は、D を負の値に設定できます。
戻り値の型は最初の引数と同じです(整数、倍精度数、または小数であることを前提とします)。これは、整数パラメータの場合、結果も整数(小数部なし)であることを意味します。
精確な値に対して、
ROUND()は「四捨五入」または「最も近い整数への切り捨て」のルールを使用します。小数部が.5以上の値については、正の数は最も近い整数に切り上げられ、負の数は最も近い整数に切り捨てられます(言い換えれば、切り捨て方は数軸上でゼロから遠ざかる方向です)。小数部が.5より小さい値については、正の数は次の整数に切り捨てられ、負の数は最も近い整数に切り捨てられます。近似値に対して、
ROUND()は「四捨 > 五入 > 五取最接近の偶数」というルールに従います。つまり、小数部を持つ任意の値は、最も近い偶数の整数に切り捨てられます。
例
obclient> SELECT ROUND(2.15,2);
+---------------+
| ROUND(2.15,2) |
+---------------+
| 2.15 |
+---------------+
1 row in set
obclient> SELECT ROUND(2555e-2,1);
+------------------+
| ROUND(2555e-2,1) |
+------------------+
| 25.6 |
+------------------+
1 row in set
obclient> SELECT ROUND(25e-1), ROUND(25.3e-1), ROUND(35e-1);
+--------------+----------------+--------------+
| ROUND(25e-1) | ROUND(25.3e-1) | ROUND(35e-1) |
+--------------+----------------+--------------+
| 2 | 3 | 4 |
+--------------+----------------+--------------+
1 row in set