SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL ServerのROUND関数の使い方を解説!構文・パラメータ・実例まとめ

この記事では、SQL ServerのROUND()関数の使い方を、構文と具体的な使用例とともに詳しく解説します。数値の丸め処理の仕組みをしっかり理解して、日々のクエリ作成や集計業務に活かしましょう。

ROUND関数とは

ROUND関数は、SQL Serverにおいて数値を指定した桁数で丸めるために使用される関数です。金額や割合などの表示を整えたい場面でよく使われます。

基本構文

SQL ServerでROUND関数を使用する際の構文は以下のとおりです。

ROUND(number, decimal, operation)

パラメータの説明

  1. number:丸めの対象となる数値。
  2. decimal:丸めを行う桁数。正または負の整数を指定します。この引数を省略した場合、小数点以下0桁(整数)に丸められます。
  3. operation:省略可能な引数。0を指定した場合(または省略した場合)は四捨五入が行われ、0以外の値を指定した場合は切り捨て処理となります。

丸めの仕組み

数値を丸める際、システムは「decimal + 1」桁目の数字をチェックします。

  1. その数字が5以上の場合:decimalで指定した位置の数字に1が加算され、それより下位の桁はすべて0になります。
  2. その数字が5未満の場合:decimalで指定した位置の数字はそのまま維持され、それより下位の桁はすべて0になります。

たとえば、小数「423.3241」をさまざまな桁数指定で丸めると、結果は次のようになります。

SQL ServerのROUND関数の使い方を解説!構文・パラメータ・実例まとめ

  1. SELECT ROUND(423.3241, -2) → 結果:400.0000
  2. SELECT ROUND(423.3241, -1) → 結果:420.0000
  3. SELECT ROUND(423.3241, 0) → 結果:423.0000
  4. SELECT ROUND(423.3241, 1) → 結果:423.3000
  5. SELECT ROUND(423.3241, 2) → 結果:423.3200
  6. SELECT ROUND(423.3241, 3) → 結果:423.3240
  7. SELECT ROUND(423.3241, 4) → 結果:423.3241

負の値を指定すると、小数点ではなく整数側の桁(十の位・百の位など)が丸めの対象になる点に注目してください。

注意点

  • 切り上げを行いたい場合はCEILING関数、切り捨てを行いたい場合はFLOOR関数を使用します。併せて確認しておくと便利です。
  • ROUND関数は、SQL Server 2017 / 2016 / 2014 / 2012 / 2008 R2 / 2008 / 2005以降の各バージョンで利用できます。

使用例

ここからは、実際のSQL文を見ながらROUND関数の挙動を確認していきましょう。

例1:数値を直接丸める

SELECT ROUND(125.315, 2);
-- 結果:125.320(第3引数が省略されているため四捨五入)

SELECT ROUND(125.315, 2, 0);
-- 結果:125.320(第3引数が0のため四捨五入)

SELECT ROUND(125.315, 2, 1);
-- 結果:125.310(第3引数が0以外のため切り捨て)

SELECT ROUND(125.315, 1);
-- 結果:125.300(第3引数が省略されているため四捨五入)

SELECT ROUND(125.315, 0);
-- 結果:125.000(第3引数が省略されているため四捨五入)

SELECT ROUND(125.315, -1);
-- 結果:130.000(第3引数が省略されているため四捨五入)

SELECT ROUND(125.315, -2);
-- 結果:100.000(第3引数が省略されているため四捨五入)

例2:テーブルのデータに対してROUND関数を使う

次のようなデータテーブル(Quantrimang)があるとします。

SQL ServerのROUND関数の使い方を解説!構文・パラメータ・実例まとめ

1. サブカテゴリ名と割合を取得し、割合を小数第2位に丸める

SELECT Chuyenmuccon, ROUND(Tyle, 2) AS Tylemoi
FROM Quantrimang;

※ Chuyenmucconは「サブカテゴリ名」、Tyleは「割合」を表すカラムです。

実行結果:

Chuyenmuccon   Tylemoi
SQL Server     74.63
Facebook       58.99
Python         36.22
JavaScript     42.68
Google Chrome  94.88
Instagram      82.16

2. プログラミング関連のカテゴリだけを抽出し、割合を整数に丸めて取得する

SELECT Chuyenmuccon, ROUND(Tyle, 0) AS Tylemoi
FROM Quantrimang
WHERE Chuyenmuclon = 'Lap trinh';

実行結果:

Chuyenmuccon   Tylemoi
SQL Server     75
Python         36
JavaScript     43

このようにROUND関数を使いこなすことで、レポートや集計処理における数値の表示形式を柔軟にコントロールできます。第3引数の有無による「四捨五入」と「切り捨て」の違いを理解し、目的に応じて使い分けましょう。

  1. 【SQL Server】AVG関数の使い方を徹底解説!基本構文から実用例まで

    本記事では、SQL Serverにおける数値処理関数「AVG」の使い方を、基本構文と具体的な使用例を交えて詳しく解説します。AVG関数の動作を正しく理解し、実務のデータ集計に活かせるようにしましょう。 AVG関数とは AVG関数は、SQL Serverにおいて式の平均値、または選択された行のうち指定した列の平均値を返す集計関数です。なお、NULLの値は自動的に除外され、平均の計算対象には含まれません。 基本構文 平均値を計算するには、SQL ServerでAVG関数を次のように記述します。 SELECT AVG(列名)FROM テーブル名[WHERE 条件]; パラメータの説明: 列名:平均

  2. SQL ServerのROUND関数の使い方を解説!構文・パラメータ・実例まとめ

    この記事では、SQL ServerのROUND()関数の使い方を、構文と具体的な使用例とともに詳しく解説します。数値の丸め処理の仕組みをしっかり理解して、日々のクエリ作成や集計業務に活かしましょう。 ROUND関数とは ROUND関数は、SQL Serverにおいて数値を指定した桁数で丸めるために使用される関数です。金額や割合などの表示を整えたい場面でよく使われます。 基本構文 SQL ServerでROUND関数を使用する際の構文は以下のとおりです。 ROUND(number, decimal, operation) パラメータの説明 number:丸めの対象となる数値。 decim