集計対象のデータに 1 件でも NULL が含まれていると、結果が NULL になります。
対処方法 1
NULL を ゼロ に変換して集計します。SELECT SUM(ISNULL(集計項目名, 0))
FROM テーブル名
-
ISNULL 関数は値がNULLのとき、第二引数に渡した値を返します。
関連記事 ISNULL 関数の使い方
対処方法 2
NULL のレコードを WHERE 条件で除外します。SELECT SUM(集計項目名)
FROM テーブル名
WHERE 集計項目名 IS NOT NULL
-
NULL を除外するには [IS NOT NULL] を使用します。[!= NULL]では正しく判定できません。
関連記事 NULL の検索方法
原因
数値に NULL を加算すると NULL になるためです。SELECT 1 + NULL
-- -> 結果 = NULL
検証環境
- Microsoft SQL Server Express (64-bit) プラットフォーム:NT x64 バージョン:13.0.4001.0