目次
SQLで四捨五入は「ROUND関数」を使う
SQLで値を四捨五入したい場合は ROUND関数 を使います。
記述方法は次の通りです。
SELECT ROUND(数値);
ROUND関数は、以下のどのDBMSでも使える共通関数です。
- MySQL
- PostgreSQL
- Oracle
- SQL Server
では実際に、四捨五入した取得結果を確認してみましょう。
mysql> SELECT ROUND(3.14); +-------------+ | ROUND(3.14) | +-------------+ | 3 | +-------------+ 1 row in set (0.01 sec) mysql> SELECT ROUND(3.55); +-------------+ | ROUND(3.55) | +-------------+ | 4 | +-------------+ 1 row in set (0.00 sec)
上記のように、四捨五入した値が取得できました。
また、ROUND関数のカッコ内で演算することも可能です。
mysql> SELECT ROUND(3.14 * 3.14); +--------------------+ | ROUND(3.14 * 3.14) | +--------------------+ | 10 | +--------------------+ 1 row in set (0.01 sec)
四捨五入する時に小数点桁を指定する
SQLで四捨五入する時に小数点桁を指定したい場合は、次のように第二引数に小数桁を記述します。
SELECT ROUND(数値, 小数桁);
こちらも実際に実行して確認してみましょう。
mysql> SELECT ROUND(3.55, 1); +----------------+ | ROUND(3.55, 1) | +----------------+ | 3.6 | +----------------+ 1 row in set (0.00 sec)
小数桁を指定したことで、先ほどとは異なる値で取得できました。
このように、小数桁第一位で取得したい場合は「1」を、小数桁第二位で取得したい場合は「2」を指定しましょう。
四捨五入する時に整数を指定する
では、四捨五入する時に整数を指定したい場合はどうすればよいでしょうか。
結論を言うと、第二引数の桁数にマイナスを指定すればOKです。
mysql> SELECT ROUND(152.55, -1); +-------------------+ | ROUND(152.55, -1) | +-------------------+ | 150 | +-------------------+ 1 row in set (0.00 sec) mysql> SELECT ROUND(152.55, -2); +-------------------+ | ROUND(152.55, -2) | +-------------------+ | 200 | +-------------------+ 1 row in set (0.00 sec)
このように、整数で値を取得できました。
一の位で四捨五入したい場合は「-1」を、十の位で四捨五入したい場合は「-2」といったようになります。
四捨五入で整数を指定するには、第二引数にマイナスの値を指定しましょう!
四捨五入と合わせて使う関数【切り捨て・切り上げ】
ここまで、SQLで値を四捨五入する方法について解説しました。
SQLでは、四捨五入と合わせて「切り捨て」「切り上げ」を行うことも多くあります。
それぞれの処理で使う関数をまとめると、次の通りです。
- 四捨五入:ROUND関数
- 切り捨て:FLOOR関数
- 切り上げ:CEILING関数
では、切り捨てと切り上げについても動作を確認してみましょう。
それぞれ、記述方法は次の通りです。
SELECT FLOOR(数値); SELECT CEILING(数値);
実行結果は次の通りです。
mysql> SELECT FLOOR(152.55); +---------------+ | FLOOR(152.55) | +---------------+ | 152 | +---------------+ 1 row in set (0.01 sec) mysql> SELECT CEILING(152.55); +-----------------+ | CEILING(152.55) | +-----------------+ | 153 | +-----------------+ 1 row in set (0.00 sec)
また、数値や日付を切り捨てたい場合は TRUNC関数 が使えます。
詳しい使い方については、次の記事で解説しているのでぜひ参考にしてみてください。
【関連記事】
▶︎SQLのTRUNC関数で数値や日付、時間を切り捨てる方法を教えます!
まとめ
SQLで数値を四捨五入する方法について解説しました。
数値を四捨五入をしたい場合は、ROUND関数を使いましょう。
第二引数に四捨五入したい桁数を指定することで、任意の値を取得可能です。
また、四捨五入と合わせて切り捨て・切り上げの方法も覚えておくと便利でしょう。
ぜひこの記事を参考に使い方をしっかり覚えてください!
SQLを学んでWebエンジニアを目指そう
Webエンジニアは、Webサービスを作るエンジニアで非常に人気の高い職種です。
スタートアップやベンチャー企業が中心なので柔軟性のある雇用形態、魅力的な作業環境、面白いプロジェクト、高い報酬など非常に魅力的な求人が多いです。
Ruby on RailsやGo言語を用いたプロジェクトが多く、SQLも重要なスキルとなります。
このブログを運営するプログラミングスクールのポテパンキャンプでは、実践的なカリキュラムと現役エンジニアからのレビュー、そしてポートフォリオ添削や模擬面談などの面談転職サポートにより、最短距離でWebエンジニアを目指すことができます。
Webエンジニアへの転職を考えている方は、是非一度無料カウンセリングへお申込みください。
四捨五入したい桁数を指定するには、第二引数を使いましょう!