ROUND 数値関数は、提供された値を指定の位取りで丸めます。
>>-ROUND--(--source_number--,--precision------------------------> >--+----------------------------+--)--------------------------->< | (1) | '-MODE------| RoundingMode |-' RoundingMode |--+-ROUND_UP--------+------------------------------------------| +-ROUND_DOWN------+ +-ROUND_CEILING---+ +-ROUND_FLOOR-----+ +-ROUND_HALF_UP---+ +-ROUND_HALF_EVEN-+ '-ROUND_HALF_DOWN-'
precision が正の数なら、source_number は小数点以下 precision 桁で四捨五入されます。 precision が負の場合の結果は、source_number の小数点の上 [precision の絶対値] 桁より下を四捨五入した結果です。
source_number には、任意の組み込み数値データ・タイプを指定できます。precision は整数でなければなりません。 結果は、source_number が NULL でない限り、source_number パラメーターと同じデータ・タイプになります。NULL の場合、結果も NULL になります。
入力数値 | ROUND UP | ROUND DOWN | ROUND CEILING | ROUND FLOOR | ROUND HALF UP | ROUND HALF DOWN | ROUND HALF EVEN |
---|---|---|---|---|---|---|---|
5.5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 |
2.5 | 3 | 2 | 3 | 2 | 3 | 2 | 2 |
1.6 | 2 | 1 | 2 | 1 | 2 | 2 | 2 |
1.1 | 2 | 1 | 2 | 1 | 1 | 1 | 1 |
1.0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
-1.0 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
-1.1 | -2 | -1 | -1 | -2 | -1 | -1 | -1 |
-1.6 | -2 | -1 | -1 | -2 | -2 | -2 | -2 |
-2.5 | -3 | -2 | -2 | -3 | -3 | -2 | -2 |
-5.5 | -6 | -5 | -5 | -6 | -6 | -5 | -6 |
ROUND(27.75, 2)
27.75 が戻ります。 ROUND(27.75, 1)
27.8 が戻ります。 ROUND(27.75, 0)
28 が戻ります。 ROUND(27.75, -1)
30 が戻ります。ROUND(5.5, 0 MODE ROUND_UP);
6 が戻ります。 ROUND(5.5, 0 MODE ROUND_DOWN);
5 が戻ります。 ROUND(5.5, 0 MODE ROUND_CEILING);
6 が戻ります。 ROUND(5.5, 0 MODE ROUND_FLOOR);
5 が戻ります。ROUND(5.5, 0 MODE ROUND_HALF_UP);
6 が戻ります。 ROUND(5.5, 0 MODE ROUND_HALF_DOWN);
5 が戻ります。 ROUND(5.5, 0 MODE ROUND_HALF_EVEN);
6 が戻ります。ROUND(2.5, 0 MODE ROUND_UP);
3 が戻ります。 ROUND(2.5, 0 MODE ROUND_DOWN);
2 が戻ります。 ROUND(2.5, 0 MODE ROUND_CEILING);
3 が戻ります。 ROUND(2.5, 0 MODE ROUND_FLOOR);
2 が戻ります。ROUND(2.5, 0 MODE ROUND_HALF_UP);
3 が戻ります。 ROUND(2.5, 0 MODE ROUND_HALF_DOWN);
2 が戻ります。 ROUND(2.5, 0 MODE ROUND_HALF_EVEN);
2 が戻ります。可能な場合、位取りは与えられた値に変更されます。 結果を指定された位取りで表現できない場合、INFINITY です。