SQL Server - 計算結果 が NULL になる

足し算・引き算・掛け算・割り算などに NULL が含まれていると 結果は NULL になります。ISNULL 関数で NULL を変換するなどして対処します。

NULL を含む計算

SELECT 1 + NULL,   --結果 = NULL
       1 - NULL,   --結果 = NULL
       1 * NULL,   --結果 = NULL
       1 / NULL    --結果 = NULL

対応策

ISNULL 関数を使用し、 NULL を ゼロに 変換します。

ISNULL 関数 の使い方

結果 = ISNULL(値, 値がNULLのときに返す値)

サンプルSQL

SELECT 1 + ISNULL(NULL, 0),   --結果 = 1
       1 - ISNULL(NULL, 0),   --結果 = 1
       1 * ISNULL(NULL, 0)    --結果 = 0

割る数を ゼロ にすると 0 除算エラー(division by zero)となるため、注意が必要です。

SELECT 1 / ISNULL(NULL, 0)    --結果 = 0 除算エラー

実行結果 実行結果-0除算

検証環境

関連ページ