• ベストアンサー

NULLを含む列の足し算

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として扱う方法はないものでしょうか? 宜しくお願いします。

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

  • ベストアンサー
回答No.2

RDBMSは、MySQLなのでしょうか? 多くのRDBMSで、coalesce関数が実装されています。 coalesce関数は、引数の並びの中で、最初のnullでない値を採用します。 select coalesce(A,0)+coalesce(B,0) from XXX とすればいいと思います。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

四則演算に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」とかで列を定義しておいた方が手っ取り早いと思います。

関連するQ&A