アプリ版:「スタンプのみでお礼する」機能のリリースについて

SELECT文で足し算をした場合、NULL値なら0で、
結果を取得する方法を教えて下さい。
select test1 + test2 from testdb;
とした文を以下のようにしてみたのですが、
NULL値が0で表示できませんでした。
select COALESCE(( test1 + test2 ),0) from testdb;
このような足し算で、初期値設定していなくて、
ここでのみ、表示させる方法を教えて下さい。

A 回答 (2件)

select の結果が必ず1レコードもしくはnull になるという条件なら、selectの結果にcoalesce()すればご希望通りかと。


update testb set nswer = coalesce((select coalesce(test1, 0)+coalesce(test2, 0) from testdb where 条件), 0);
    • good
    • 0
この回答へのお礼

うまく出来ました。
有難うございました。

お礼日時:2005/06/13 21:33

test1もしくはtest2がnull値のとき、test1+test2の結果もnull値になるので、coalesce(test1+test2, 0)は 0 になります。


よって、↓が正解。
select coalesce(test1, 0)+coalesce(test2, 0) from testdb;

この回答への補足

回答有難うございます。
わかり易い回答有難うございます。
1つ良ければ、教えていただきたいのですが、
update testb set nswer = (select coalesce(test1, 0)+coalesce(test2, 0) from testdb where 条件) ;
とした場合、testdbで条件に該当がないレコードが
あった場合は、null値を0表示にするのは、
不可能なのでしょうか?

補足日時:2005/03/29 10:46
    • good
    • 0

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

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