プロが教える店舗&オフィスのセキュリティ対策術

NULLを含むA列、B列の合計を取得する方法を教えてください。

列の値がNULLだった場合は0として扱い、

列A 列B 合計
NULL 100 100
100 20 120
50 NULL 50

としたいのですが、
単純に SELECT A+B FROM XXX とすると

列A 列B 合計
NULL 100 NULL
100 20 120
50 NULL NULL

となります。
NULL=0として扱う方法はないものでしょうか?
宜しくお願いします。

A 回答 (2件)

RDBMSは、MySQLなのでしょうか?


多くのRDBMSで、coalesce関数が実装されています。
coalesce関数は、引数の並びの中で、最初のnullでない値を採用します。

select coalesce(A,0)+coalesce(B,0) from XXX

とすればいいと思います。
    • good
    • 0

四則演算にnullが混じったときの扱いはマニュアルに記述があったハズですね。

nullを0として扱いたければこんな感じでは?

select (case when column-A is null then 0 else column-A end)+(case when column-B is null then 0 else column-B end) as goukei from ~~

「not null default 0」とかで列を定義しておいた方が手っ取り早いと思います。
    • good
    • 0

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

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