こんにちは。たいら(@tairaengineer2)です。
この記事では、SQL Serverで四捨五入ができるROUND関数について解説します。
スポンサーリンク
- 前提条件
- ROUND関数とは
- 解説で使うテーブル
- パターン1:小数点第二位を四捨五入(第三引数は指定しない)
- パターン2:1の位を切り捨て(第三引数を切り捨てに指定)
- まとめ:四捨五入をしたいとき、ROUND関数を使ってみよう!
前提条件
この記事では、Microsoft SQL Server2017を使っています。
インストールの仕方は、下の記事をご参考ください。
ROUND関数とは
ROUND関数とは、指定した桁で四捨五入することができる関数です。
ROUND (Transact-SQL)
適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse
指定された長さまたは有効桁数に丸めた数値を返します。
ROUND (Transact-SQL) - SQL Server | Microsoft Docsから引用させて頂きました
ROUND関数の基本的な使い方は、以下です。
ROUND(【四捨五入したい数or列】 , 【有効桁数】 [, 【四捨五入or切り捨て】 ])
赤太字のカッコで囲っている箇所を変更して頂ければOKです。
第二引数の【有効桁数】は、 第一引数を丸めるときの有効桁数です。
例えば
- 例1:1の場合、小数点第一位
- 例2:-2の場合、100の位
3番目の【四捨五入or切り捨て】は、オプションなので指定しなくてもOKです。
指定できるものは数字のみで、意味は以下です。
- 0:四捨五入
- 0以外:切り捨て
もし指定しなかった場合、デフォルトは0、つまり四捨五入が指定されます。
では、次の章で実際に使ってみます!
解説で使うテーブル
ROUND関数で解説で使うテーブルは、【Test】テーブルです。
テーブルの中身は以下になります。
number | name | per |
---|---|---|
1 | Mike | 100.581 |
2 | Ai | -3.217 |
3 | Cup | 1.544 |
このテーブルに対して、
- 小数点第二位を四捨五入(第三引数は指定しない)
- 1の位を切り捨て(第三引数を切り捨てに指定)
の2パターンで実行していきます。
パターン1:小数点第二位を四捨五入(第三引数は指定しない)
【Test】テーブルの【per】の列に対して、小数点第二位を四捨五入します。
比較できるように、元の列も残します。
SELECT文は、以下になります。
SELECT [number]
,[name]
,[per]
,ROUND(per, 2) AS round_per
FROM [Test].[dbo].[Test]
実行結果は以下になります。
number | name | per | round_per |
---|---|---|---|
1 | Mike | 100.581 | 100.580 |
2 | Ai | -3.217 | -3.220 |
3 | Cup | 1.544 | 1.540 |
小数点第二位で四捨五入ができていることが確認できました!
パターン2:1の位を切り捨て(第三引数を切り捨てに指定)
【Test】テーブルの【per】の列に対して、1の位を切り捨てます。
比較できるように、元の列も残します。
SELECT文は、以下になります。
SELECT [number]
,[name]
,[per]
,ROUND(per, -1, 1) AS round_per
FROM [Test].[dbo].[Test]
実行結果は以下になります。
number | name | per | round_per |
---|---|---|---|
1 | Mike | 100.581 | 100.000 |
2 | Ai | -3.217 | 0.000 |
3 | Cup | 1.544 | 0.000 |
1の位で切り捨てができていることが確認できました!
スポンサーリンク
まとめ:四捨五入をしたいとき、ROUND関数を使ってみよう!
以上がROUND関数の解説です。
四捨五入をしたいとき、ぜひROUND関数を使ってみてください!。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
他にもSQL Serverについて記事を書いています。
良ければこちらもご参考ください。
【SQL Server】連番をふれるROW_NUMBER関数について解説します
【SQL Server】大文字から小文字に変換するLOWER関数について解説します
今までブログで書いたSQL Serverの解説記事のまとめは、こちらをご参考ください。