ROUND 関数
ROUND 関数は、数値を四捨五入して、最も近い整数または 10 進数にします。
ROUND 関数にはオプションで、2 番目の引数として INTEGER
を指定できます。この整数は、四捨五入後の小数点以下または小数点以上の桁数を指定します。2 番目の引数を指定しない場合、関数は最も近い整数に四捨五入されます。2 番目の引数 integer が指定されている場合、この関数は小数点以下 integer 桁の精度で最も近い数値に四捨五入されます。
構文
ROUND(number [ , integer ] )
引数
- number
-
数値、または数値に評価される式。
DECIMAL
、FLOAT8
、またはSUPER
型を使用できます。Amazon Redshift は、他の数値データ型を暗黙的に変換できます。 - integer
(オプション) 小数点以上または小数点以下の桁数を示す
INTEGER
。SUPER
データ型は、この引数ではサポートされていません。
戻り型
ROUND は、入力と同じ number データ型を返します。
入力が SUPER
型の場合、出力は入力と同じ動的型を保持しますが、静的型は SUPER
型のままです。SUPER
の動的型が数値でない場合、Amazon Redshift は NULL
を返します。
例
次の例では、TICKIT サンプルデータを使用します。詳細については、「サンプルデータベース」を参照してください。
特定の取引において支払われたコミッションを四捨五入して、最も近い整数にするには、次の例を使用します。
SELECT commission, ROUND(commission) FROM sales WHERE salesid=10000;
+------------+-------+ | commission | round | +------------+-------+ | 28.05 | 28 | +------------+-------+
特定の取引において支払われたコミッションを四捨五入して、小数点以下第 1 位までの数値にするには、次の例を使用します。
SELECT commission, ROUND(commission, 1) FROM sales WHERE salesid=10000;
+------------+-------+ | commission | round | +------------+-------+ | 28.05 | 28.1 | +------------+-------+
精度を前の例と逆方向に拡張するには、次の例を使用します。
SELECT commission, ROUND(commission, -1) FROM sales WHERE salesid=10000;
+------------+-------+ | commission | round | +------------+-------+ | 28.05 | 30 | +------------+-------+