• ベストアンサー

SQLでSUMなどの関数でデータが無い時に0を返したい。

SQLでSUMなどの関数でデータが無い時に0を返したい。 (例) SELECT SUM(項目) FROM テーブル WHERE 条件 ここで、条件に一致するデータが1件も無かった時ですが、 何かNULLのような物が1件返ってきているようです。 この条件に一致する物が無かった時に、 0を返したいのですが、可能でしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • moousi
  • ベストアンサー率70% (21/30)
回答No.2

NULLが入りうるカラムはNVLで括った方が安全です。 SELECT SUM(NVL(項目,0)) from テーブル WHERE 条件 SUMの場合は、変わりないですが、AVGだと結果が違ったりします。 件名を見て、SUM以外の関数についても含むようだったので一応。

evaag777
質問者

お礼

ご回答ありがとうございます。解決する事ができました。 この方法で対応しました。

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

SELECT CASE SUM(項目) WHEN NULL THEN 0 ELSE SUM(項目) END FROM テーブル WHERE 条件

evaag777
質問者

お礼

ご回答ありがとうございます。解決する事ができました。

関連するQ&A