記事内に広告が含まれています。

【SQL Server】四捨五入を行う(ROUND関数)

SQL Server における、四捨五入を行う方法です。ROUND関数を使います。

【スポンサーリンク】

四捨五入

ROUND関数を使って四捨五入する方法は以下。

ROUND(数値, 丸める桁数)
ROUND(数値, 丸める桁数, 丸めの方法を指定するためのオプション)

たったこれだけです。

  • 第1引数:四捨五入したい数値
  • 第2引数:丸める桁数。正の整数の場合は小数点以下の桁数を丸め、負の整数の場合は整数の桁数を丸める。
  • 第3引数:0…四捨五入。1…切り捨て。

第3引数は省略可能で、指定しなければ四捨五入されます。

【スポンサーリンク】

サンプル(実行例)

ROUND関数のサンプルです。第2引数の値が正負の場合でそれぞれ実行してみます。

--第2引数がプラス(一般的な四捨五入)
SELECT '123.456' AS 対象, ROUND(123.456,  1) AS 結果
UNION ALL
--第2引数がマイナス(整数を丸める)
SELECT '123.456' AS 対象, ROUND(123.456, -1) AS 結果

これを実行してみます。

サンプルクエリの実行結果

第2引数がプラスの場合は、小数点以下の指定した桁で四捨五入を行います(サンプルの場合、第2引数が「1」なので、小数点第1位以下を四捨五入)。

第2引数がマイナスの場合、小数点の左側が引数に指定した値で桁が丸められています(123.456の整数1桁を丸めた)。

第2引数がプラスのパターン、いわゆる一般的な四捨五入を使うケースの方が多いと思うので、もし、第2引数がマイナスのパターンに遭遇した場合は、有識者に詳細を聞いた方が良いと思います。
【スポンサーリンク】

参考リンク

ROUND (Transact-SQL) - SQL Server
ROUND (Transact-SQL)
【スポンサーリンク】

関連記事

【SQL Server】切り捨てを行う(FLOOR関数)
Oracle における切り捨ての方法です。「FLOOR関数」を使用します。
【SQL Server】切り上げを行う(CEILING関数)
Oracle における切り上げの方法です。「CEILING関数」を使用します。