SQL Serverでは、T-SQL ROUND()
関数を使用すると、数値を指定した長さまたは精度に丸めることができます。
引数として数値と、数値を丸めたい長さを指定します。この関数は、オプションの3番目の引数も受け入れます。これにより、数値を丸めるか切り捨てるかを指定できます。
構文
構文は次のようになります:
ROUND ( numeric_expression , length [ ,function ] )
引数の定義が次の場合:
- neuro_expression
- は、ビットを除いて、正確な数値または近似数値のデータ型カテゴリの式です。 データ型。
- 長さ
- はnumeric_expressionの精度です 丸められます。この引数は、タイプ tinyintの式である必要があります 、 smallint 、または int 。正の数の場合、 neuro_expression この引数で指定された小数点以下の桁数に丸められます。負の数の場合、 neuro_expression この引数で指定されているように、小数点の左側で丸められます。
- 関数
- 実行する操作のタイプです。これはtinyintである必要があります 、 smallint 、または int 。この引数が省略されているか、値が0(デフォルト)の場合、 neuro_expression 丸められます。 0以外の値を指定した場合numeric_expression 切り捨てられます。
例1-基本的な使用法
この関数がどのように機能するかを示す基本的な例を次に示します。
SELECT ROUND(1.49, 1) Result;
結果:
+----------+ | Result | |----------| | 1.50 | +----------+
この場合、数値は切り上げられます。
例2–小数点以下の桁数がゼロ
2番目の引数をゼロに設定すると、次のようになります。
SELECT ROUND(1.49, 0) Result;
結果:
+----------+ | Result | |----------| | 1.00 | +----------+
これは、数値を丸めるためにゼロの小数部分を指定したためです。
そして、最初の数値を1.50に変更するとどうなりますか:
SELECT ROUND(1.50, 0) Result;
結果:
+----------+ | Result | |----------| | 2.00 | +----------+
例3–小数点以下の桁数を増やす
四捨五入する数値に小数点以下の桁数が多い例を次に示します。
SELECT ROUND(1.234, 2) Result;
結果:
+----------+ | Result | |----------| | 1.230 | +----------+
最後の桁を5に増やすと、次のようになります。
SELECT ROUND(1.235, 2) Result;
結果:
+----------+ | Result | |----------| | 1.240 | +----------+
もちろん、小数点以下の桁数をもっと多く使用することもできます。たとえば、小数点以下の桁数を大幅に減らすことができます。
SELECT ROUND(1.23456789123456789, 8) Result;
結果:
+---------------------+ | Result | |---------------------| | 1.23456789000000000 | +---------------------+
例4–切り捨て(つまり、3番目の引数を使用)
前述のように、結果を切り捨てるか、単に丸めるかを指定する3番目の引数を指定できます。前の例は、3番目の引数を指定しなかったため、すべて丸められています。 3番目の引数を省略すると、値0が使用されます(これは結果を丸めることを意味します)。 0以外の値を指定すると、結果は切り捨てられます。
SELECT ROUND(1.236, 2) 'Rounded (by default)', ROUND(1.236, 2, 0) 'Rounded (explicitly)', ROUND(1.236, 2, 1) 'Truncated';
結果:
+------------------------+------------------------+-------------+ | Rounded (by default) | Rounded (explicitly) | Truncated | |------------------------+------------------------+-------------| | 1.240 | 1.240 | 1.230 | +------------------------+------------------------+-------------+
例5–2番目の引数に負の値を使用する
2番目の引数に負の値を使用して、非小数部分の部分をゼロに丸める方法は次のとおりです。
SELECT ROUND(123.456, -1) Result;
結果:
+----------+ | Result | |----------| | 120.000 | +----------+
3
を増やすと、次のように丸められます。 5
へ 以上。
SELECT ROUND(125.456, -1) Result;
結果:
+----------+ | Result | |----------| | 130.000 | +----------+
数値に小数部分が含まれていない場合でも、これを行うことができます。
SELECT ROUND(125, -1) Result;
結果:
+----------+ | Result | |----------| | 130 | +----------+
例6–負の数と正の数の丸め
前の例で見たように、正の数を使用する場合、小数部が.5以上の値は、次の整数に切り上げられます。
ただし、負の数を使用する場合、そのような値は切り捨てられます 。
SELECT ROUND(1.50, 0) Positive, ROUND(-1.50, 0) Negative;
結果:
+------------+------------+ | Positive | Negative | |------------+------------| | 2.00 | -2.00 | +------------+------------+