データの出力結果を四捨五入する方法について紹介していきます。
前提条件
商品を管理しているテーブルを利用する
使用するテーブル: products テーブル
+----+-----------------+-------+
| id | name | price |
+----+-----------------+-------+
| 1 | ドックフード001 | 1000 |
| 2 | ドックフード002 | 2000 |
| 3 | ドックフード003 | 1500 |
| 4 | ドックフード004 | 1800 |
| 5 | ドックフード005 | 2500 |
| 6 | ドックフード006 | 1500 |
+----+-----------------+-------+
6 rows in set (0.001 sec)
条件
- priceカラムに消費税をかけてみる
- 税率をかけた結果を四捨五入する
ラウンド関数を使わないで演算する
select price * 1.08 from products;
出力結果
+--------------+
| price * 1.08 |
+--------------+
| 1080.00 |
| 2160.00 |
| 1620.00 |
| 1944.00 |
| 2700.00 |
| 1620.00 |
+--------------+
6 rows in set (0.001 sec)
出力結果に小数点以下が表示されているのがわかる。
ラウンド関数の使い方
構文
select round(カラム名または計算式,丸めの桁数) from テーブル名;
コードの見方
使用するSQL文
select round(price * 1.10,1) from products;
priceカラムに税率をかけて、小数点第二位で四捨五入を指定します。
出力結果
+-----------------------+
| round(price * 1.10,1) |
+-----------------------+
| 1100.0 |
| 2200.0 |
| 1650.0 |
| 1980.0 |
| 2750.0 |
| 1650.0 |
+-----------------------+
6 rows in set (0.001 sec)
小数点第二位で四捨五入することができました。
丸めの桁とは
学生時代に勉強とは無縁の私は知らなかったので補足します。
丸めの桁とは端数処理のこと
小数点第何位で四捨五入をして表示させるかを設定できます。
productsテーブルにそれぞれ異なる丸めの桁数を指定して確認してみます。
ラウンド関数で丸めの桁数を1に設定する
select round(price * 1.10,1) from products;
出力結果
+-----------------------+
| round(price * 1.10,1) |
+-----------------------+
| 1100.0 |
| 2200.0 |
| 1650.0 |
| 1980.0 |
| 2750.0 |
| 1650.0 |
+-----------------------+
6 rows in set (0.001 sec)
四捨五入は小数点第二位で行われ、小数点第1位まで出力されました。
ラウンド関数で丸めの桁数を2に設定する
select round(price * 1.10,2) from products;
出力結果
+-----------------------+
| round(price * 1.10,2) |
+-----------------------+
| 1100.00 |
| 2200.00 |
| 1650.00 |
| 1980.00 |
| 2750.00 |
| 1650.00 |
+-----------------------+
6 rows in set (0.001 sec)
四捨五入は小数点第三位で行われ、小数点第二位まで出力されました。
ラウンド関数で丸めの桁数を0または指定しない
select round(price * 1.10) from products;
出力結果
+---------------------+
| round(price * 1.10) |
+---------------------+
| 1100 |
| 2200 |
| 1650 |
| 1980 |
| 2750 |
| 1650 |
+---------------------+
6 rows in set (0.001 sec)
小数点第一位で四捨五入が行われています。