【SQLレシピ】int型の除算の結果を小数点以下の桁数を指定してfloat型で出力する

ネコニウム研究所

PCを利用したモノづくりに関連する情報を掲載するブログ

【SQLレシピ】int型の除算の結果を小数点以下の桁数を指定してfloat型で出力する

2022-6-10 |

SQLでint型の除算の結果を小数点以下の桁数を指定してfloat型で出力したい!

概要

この記事では、int型の除算の結果を小数点以下の桁数を指定してfloat型で出力する手順を掲載する。

仕様書

環境

  • SQL Server 15.0.2000

手順書

下表のようなIDと数量を記録してるテーブルTableを例にする。(なんの数量なのかとかは無視して下さい)

列名 データ型 備考
ID INTEGER ユニークな連番
Q INTEGER 数量

登録してるデータは下記のとおり。

ID Q
1 0
2 0
3 1
4 0
5 0
6 0
7 0
8 2
9 0
10 0

今回は、ID数でQの合計を割って、平均値を計算する。

SELECT
    ROUND(CONVERT(float, SUM(Q)) / COUNT(ID), 3)
FROM Table

クエリを実行すると下記のように平均値が出力される。

(列名なし)
3.333

まず、被除数か除数のどちらかをCONVERT関数でfloat型に変換しておく。
その後、ROUND関数の第2引数で小数点以下の桁数を指定して四捨五入する。

まとめ(感想文)

例のように平均値とかを計算するのに便利かもね!
C言語などのキャストを思い出すとか思い出さないとか。