SQL Server AVGの実行結果を少数まで取得する

SQL Server AVGの実行結果を少数まで取得する

SQL Serverで、AVGの実行結果を少数まで取得する手順を記述してます。

環境

  • OS windows10 pro
  • SQL server2017 Version 14.0.3223.3
  • SSMS 18.7.1

少数まで取得

「int」型のデータを「AVG」で少数まで取得するには、「CAST」で「DECIMAL」型に変換します。

SELECT AVG(CAST(カラム名 as DECIMAL))
  FROM テーブル名

実際に、以下のテーブルのカラム「age」の平均値を少数まで取得してみます。
ここでは「Test」というテーブルを使用してます。

実行してみます。

SELECT AVG(CAST([age] as DECIMAL)) as ave
FROM [dbo].[Test]

実行結果

少数まで取得されていることが確認できます。

桁数制限

表示する少数の桁数を制限したい場合は、もう一度CASTしてでDECIMALで少数の桁数を設定します。

DECIMAL(10,表示する少数の桁数)

実際に、少数の桁数を2桁にしてみます。

SELECT CAST(AVG(CAST([age] as DECIMAL))as DECIMAL(10,2)) as ave
FROM [dbo].[Test]

実行結果

桁数が制限されていることが確認できます。