【SQL超入門講座】20.ROUND|四捨五入を思いのままにできますか?

こんにちは、Kinocodeです。
この動画では、SQLで数値を指定した桁数に四捨五入する方法を解説します。
皆さんは表の中で数値がバラバラの桁数で表示されていたら、見づらく感じませんか?
例えば、売上管理票に万円を単位とする売上のカラムがあり、千円以下の売上が少数として表示されていたとします。
少数以下の細かい数字に目が行ってしまい、ひと目で大小の判断がしづらく、見づらくないでしょうか?
この時、ROUND関数で百円以下を四捨五入し、売上の桁数を統一してあげれば、随分表が見やすくなりますよね。
また、平均値の計算や、消費税の計算で生じる端数処理でもROUND関数はよく使われますので、しっかり使い方を理解しておきましょう。

Kinocodeではこの動画のほかにも、たくさんのプログラミングに関するレッスンを配信しています。
チャンネル登録がまだの方は、チャンネルがどこに行ったか分からなくならないように、是非チャンネル登録をお願いします。
それではレッスンスタートです。

ROUND関数とは

最初にROUND関数の文法を確認しましょう。

ROUND(数値,桁数)

ROUND関数では二つの引数を指定します。
第1引数で四捨五入の対象となる数値を指定します。
第1引数に具体的な数値ではなくカラムを指定した場合、そのカラムの全ての数値が四捨五入の対象となります。
第2引数では四捨五入を行う桁数を指定します。
この桁数を省略した場合は、0が指定されたものとみなされます。
また第1引数、第2引数のどちらかがNULLになると、そのROUND関数はNULLを返すということも覚えておきましょう。

ROUND関数の使用例の解説に移る前に、第2引数で指定する桁数についてもう少し詳しく解説をします。
というのも、この桁数の考え方は慣れていないと分かりづらい部分があるからです。
第2引数で指定する桁数と、処理を行う桁の関係はこのようになります。

第2引数で指定する桁数 0 1 2 3 ・・・
処理される桁 小数第1位 小数第2位 小数第3位 小数第4位 ・・・

第2引数で0を指定した場合、小数第1位の桁が処理され、整数が返されます。
第2引数で1を指定した場合、小数第2位の桁が処理され、小数第1位まで持つ数値が返されます。
このようにROUND関数では第2引数で指定した桁数まで表示するように、四捨五入が行われます。

ここまで理解した上で、実際の使い方をテーブルを用いて確認していきましょう。

ROUND関数の使い方

ここからはデモテーブルのtest01を作成して使い方を確認していきます。
test01に存在する「偏差値」のカラムには、小数第3位まで持つ数値が入力されています。
それではROUND関数を使って、test01の偏差値のカラムを四捨五入して抽出をしてみましょう。

まず偏差値が整数になるよう、小数部分を四捨五入して抽出してみましょう。
このとき四捨五入の結果を確認しやすいよう、処理する前の偏差値のカラムも一緒に抽出したいと思います。

SQLはこのように書くことができます。

SELECT 偏差値, ROUND(偏差値) 
FROM test01

ROUND関数の第1引数に偏差値のカラムを指定します。
小数部分を四捨五入して整数にするので、第2引数は省略するか0を指定します。
今回作成したSQLでは第2引数を省略して記述しています。
ではSQLの実行結果を確認してみましょう。

小数部分が処理され、偏差値が整数で表示されました。

次に偏差値が小数第2位まで持つ数値になるよう四捨五入してみましょう。
SQLは先ほど作成したものを流用して、次のように書くことができます。

SELECT 偏差値, ROUND(偏差値, 2) 
FROM test01

今回は偏差値を小数第2位まで持つ数値に四捨五入するので、第2引数に2を指定しています。
それではSQLの実行結果を確認してみましょう。

小数第3位の桁が処理され、偏差値が小数第2位まで持つ数値で表示されました。

レッスンは以上です。
ROUND関数の使い方は理解できましたでしょうか。
第2引数で指定する桁数と、処理を行う桁の関係を忘れずに覚えてくようにしてくださいね。

Kinocodeではわかりやすく飽きない動画づくりを意識しています。
今後はこのようなレッスン動画の配信を予定しています。
レッスンの新着通知が行きますので、是非チャンネル登録をお願いします。
それでは、次のレッスンでお会いしましょう。