【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言語などのキャストを思い出すとか思い出さないとか。
