宣言
ROUND(X)
ROUND(X,D)
説明
指定された長さまたは精度に丸めて、数値を返します。
戻り値のXは、最も近い整数に近い値になります。2つの引数がある場合、小数点以下D桁までXを返し、その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