- ベストアンサー
SQLでSUMなどの関数でデータが無い時に0を返したい。
SQLでSUMなどの関数でデータが無い時に0を返したい。 (例) SELECT SUM(項目) FROM テーブル WHERE 条件 ここで、条件に一致するデータが1件も無かった時ですが、 何かNULLのような物が1件返ってきているようです。 この条件に一致する物が無かった時に、 0を返したいのですが、可能でしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
NULLが入りうるカラムはNVLで括った方が安全です。 SELECT SUM(NVL(項目,0)) from テーブル WHERE 条件 SUMの場合は、変わりないですが、AVGだと結果が違ったりします。 件名を見て、SUM以外の関数についても含むようだったので一応。
その他の回答 (1)
- SaKaKashi
- ベストアンサー率24% (755/3136)
回答No.1
SELECT CASE SUM(項目) WHEN NULL THEN 0 ELSE SUM(項目) END FROM テーブル WHERE 条件
質問者
お礼
ご回答ありがとうございます。解決する事ができました。
お礼
ご回答ありがとうございます。解決する事ができました。 この方法で対応しました。