dポイントプレゼントキャンペーン実施中!

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

(例)
SELECT SUM(項目) FROM テーブル WHERE 条件

ここで、条件に一致するデータが1件も無かった時ですが、
何かNULLのような物が1件返ってきているようです。
この条件に一致する物が無かった時に、
0を返したいのですが、可能でしょうか?

よろしくお願いします。

A 回答 (2件)

NULLが入りうるカラムはNVLで括った方が安全です。


SELECT SUM(NVL(項目,0)) from テーブル WHERE 条件

SUMの場合は、変わりないですが、AVGだと結果が違ったりします。
件名を見て、SUM以外の関数についても含むようだったので一応。
    • good
    • 3
この回答へのお礼

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

お礼日時:2010/09/29 17:50

SELECT


CASE SUM(項目) WHEN NULL THEN 0 ELSE SUM(項目) END
FROM テーブル WHERE 条件
    • good
    • 4
この回答へのお礼

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

お礼日時:2010/09/29 17:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A