[pgsql-jp: 34355] Re: VB6でNULLの検出

UNO Shintaro uno @ venus.dti.ne.jp
2004年 11月 30日 (火) 21:03:24 JST


>sum等の集約関数を使用した時、該当するデータがないとNULLが返ってきます。
>普通にレコードセットから変数に代入するとエラーコード94[Nullの使い方が不正です]
>と言うエラーになります。
>エラーが出る訳なのでこまめにトラップしてエラー処理を記述すれば問題ないわけ
>ですが、sumなんて関数は利用頻度も高く結構面倒臭く(負荷大と)感じています。

COALESCE関数を使って、NULLが入っているところを何らかの値(たとえば、0)
とみなして集計してしまうという手は使えませんか?

例:
SELECT SUM(COALESCE(c,0)) AS csum FROM t
こうすると、cがNULLの部分を0とみなして合計を計算します。

詳しくはPostgreSQLのマニュアルをご覧ください。

-- 
UNO Shintaro, 宇野 信太郎
mailto:uno @ venus.dti.ne.jp
http://www.venus.dti.ne.jp/~uno/




pgsql-jp メーリングリストの案内