すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ROUND

最終更新日:Dec 05, 2025

ROUND 関数は、数値 number を指定された小数点以下の桁数に四捨五入します。

構文

DOUBLE|DECIMAL ROUND(DOUBLE|DECIMAL <number>[, BIGINT <decimal_places>])

-- 標準的な例。
-- 125.32 が返されます。
SELECT ROUND(125.315, 2);

パラメーター

  • number:必須。DOUBLE 型または DECIMAL 型の値。入力が STRING 型または BIGINT 型の値である場合、暗黙的に DOUBLE 型に変換されます。

  • decimal_places:オプション。数値を四捨五入する小数点以下の桁数を指定する BIGINT 型の定数。このパラメーターを省略した場合、数値は最も近い整数に四捨五入されます。デフォルト値は 0 です。

    説明

    decimal_places の値は負の値にすることができます。負の値は、小数点の左側で四捨五入することを示します。戻り値の小数部は 0 になります。負の値の絶対値が number の整数部の桁数以上である場合、関数は 0.0 を返します。

戻り値

DOUBLE 型または DECIMAL 型の値を返します。以下のルールが適用されます:

  • number が DOUBLE 型または DECIMAL 型の場合、対応する型の値が返されます。

    説明

    number が DOUBLE 型の場合、DOUBLE 型は精度を保証できないため、ROUND 関数の結果で精度が失われる可能性があります。詳細については、「ROUND 関数の精度の問題」をご参照ください。

  • number が STRING 型または BIGINT 型の場合、DOUBLE 型の値が返されます。

  • decimal_places が BIGINT 型でない場合、エラーが返されます。

  • number または decimal_places が NULL の場合、NULL が返されます。

-- 125.0 が返されます。
SELECT ROUND(125.315);

-- 125.3 が返されます。
SELECT ROUND(125.315, 1);

-- 125.32 が返されます。
SELECT ROUND(125.315, 2);

-- 125.315 が返されます。
SELECT ROUND(125.315, 3);

-- -125.32 が返されます。
SELECT ROUND(-125.315, 2);

-- 百の位に四捨五入します。
-- 100.0 が返されます。
SELECT ROUND(123.345, -2);

-- NULL が返されます。
SELECT ROUND(NULL);

-- 指定された精度が元の小数点以下の桁数を超えています。元の値が返されます。
-- 123.345 が返されます。
SELECT ROUND(123.345, 4);

-- 一万の位に四捨五入します。値が十分に大きくないため、0 が返されます。
-- 0.0 が返されます。
SELECT ROUND(123.345, -4);

関連関数

ROUND は数学関数です。データ計算および変換関数の詳細については、「数学関数」をご参照ください。