こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、15年目エンジニアです。
この記事では、 SQL Serverで四捨五入できるROUND関数について
- ROUND関数とは
- ROUND関数を使ったサンプルSQL
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
| OS | Windows11 |
|---|---|
| 使っているSQL Serverの製品 | SQL Server2022 |
| SQL Serverのバージョン | 16.0.1175.1 |
| SQL Server Management Studioのバージョン | 21.3.7 |
| SQL Server Management Studioの言語 | 日本語 |
ROUND関数とは
ROUND関数とは、第一引数に指定した値を第二引数で指定した桁数まで丸めた値を返す関数です。
基本的な使い方は以下になります。
|
1 2 |
SELECT ROUND(【計算する値】, 【桁数】) FROM 【テーブル名】 |
ROUND関数の細かい点について
- カラム名
- 第一引数に指定できる値
- 第二引数の有効桁数
- 第三引数は任意
と順に解説します。
カラム名
ROUND関数で指定したカラム名は(列名なし)という名前になります。

カラム名を指定したい場合は、AS句を使って指定すればOKです。

AS句についてはこちらの記事をご参考ください。
第一引数に指定できる値
第一引数には、数字だけでなく列も指定することができます。
ただし列がvarcharなどの文字列だった場合
|
1 |
データ型 varchar を float に変換中にエラーが発生しました。 |

というようなエラーメッセージが表示されるので、ご注意ください。
第二引数の有効桁数
第二引数は、丸める桁数で正または負の整数を指定することができます。
簡単にまとめると、こんな感じです。
| 値 | どの桁を四捨五入するか |
|---|---|
| 2 | 小数第3位 |
| 1 | 小数第2位 |
| 0 | 小数第1位 |
| -1 | 整数1位 |
| -2 | 整数10位 |
第三引数は任意
第三引数の指定は任意です。
意味は、切り捨てするかどうかです。
デフォルト値は0で、四捨五入という意味です。
0以外の数値を指定すると切り捨てを指定することができます。
では、次の章で実際に使ってみます。
ROUND関数を使ったサンプルSQL
以下のuser_infoテーブルを使います。

| id | name | age | job | score |
|---|---|---|---|---|
| a0001 | 田中 | 32 | 農家 | 12.21 |
| a0002 | 鈴木 | 23 | 本屋 | 76.99 |
| a0003 | 佐藤 | 45 | トラックドライバー | 44.44 |
| a0004 | 森 | 16 | 学生 | 56.92 |
| a0005 | 中田 | 99 | NULL | 38.56 |
| a0006 | 高橋 | 54 | 営業 | 83.66 |
ageとscoreのカラムに対してROUND関数を使います。
ageは整数1位、scoreは小数第2位で切り捨てを実行します。
SQLは以下になります。
|
1 2 3 4 5 6 |
SELECT name ,age ,ROUND(age, -1) AS round_age ,score ,ROUND(score, 1, 1) AS round_score FROM user_info; |
実行すると、指定した桁数で四捨五入と切り捨てができていることを確認できました。

まとめ:ROUND関数で反転させてみよう!
以上がSQL Serverで四捨五入できるROUND関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント