【SQLレシピ】int型の除算の結果を小数点以下の桁数を指定してfloat型で出力する
2022-6-10 | SQL
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言語などのキャストを思い出すとか思い出さないとか。