次の方法で共有


ROUND (Transact-SQL)

指定された長さまたは有効桁数に丸めた数値を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

ROUND ( numeric_expression , length [ ,function ] )

引数

  • numeric_expression
    真数型または概数型のです。ただし、bit 型は除きます。
  • length
    numeric_expression を丸める有効桁数です。lengthtinyint 型、smallint 型、または int 型である必要があります。length に正の値を指定した場合、numeric_expressionlength で指定した小数点以下桁数に丸められます。length に負の値を指定した場合、numeric_expressionlength で指定した小数点の左側の位置で丸められます。
  • function
    実行する操作の種類です。function は、tinyint 型、smallint 型、int 型のいずれかである必要があります。function を省略した場合、または 0 (既定値) を指定した場合、numeric_expression は丸められます。0 以外の値を指定した場合、numeric_expression は切り捨てられます。

戻り値の型

numeric_expression と同じ型が返されます。**

解説

ROUND は常に値を返します。length が負の値で、整数部の桁数より大きい場合、ROUND は 0 を返します。

結果

ROUND(748.58, -4)

0

ROUND は、length が負の値であるときは、データ型に関係なく、numeric_expression を丸めて返します。

結果

ROUND(748.58, -1)

750.00

ROUND(748.58, -2)

700.00

ROUND(748.58, -3)

1000.00

A. ROUND と概数を使用する

次の例では、ROUND を使用することにより最後の桁が常に概数になることを表す 2 つの式を示します。

SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO

以下に結果セットを示します。

----------- -----------
123.9990    124.0000    

B. ROUND を使用して概数を丸める

次の例では、数値を丸めて概数化します。

SELECT ROUND(123.4545, 2);
GO
SELECT ROUND(123.45, -2);GO

以下に結果セットを示します。

----------

123.4500

(1 row(s) affected)

--------

100.00

(1 row(s) affected)

C. ROUND を使用して切り捨てを行う

次の例では、2 つの SELECT ステートメントを使用して、丸め処理と切り捨て処理の違いを示します。最初のステートメントは、結果を丸めます。2 番目のステートメントは、結果を切り捨てます。

SELECT ROUND(150.75, 0);
GO
SELECT ROUND(150.75, 0, 1);
GO

以下に結果セットを示します。

--------
151.00

(1 row(s) affected)

--------
150.00

(1 row(s) affected)

参照

関連項目

CEILING (Transact-SQL)
データ型 (Transact-SQL)
式 (Transact-SQL)
FLOOR (Transact-SQL)
数学関数 (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手