読者です 読者をやめる 読者になる 読者になる

Postgresql で null を 0 で返す方法

select price + tax from mytable; 

みたいなことをしようとしたら、taxにnullが入っていて計算が上手く行かなかった。ということで、nullを0に変えてやる必要がある。

select coalesce(column, 0) from mytable; 

ここではPostgresのcoalesce関数を利用した。columnがnullの時には、二番目の引数の0を返す。以下は公式の解説。

COALESCE 関数は、NULL でない自身の最初の引数を返します。 データを表示の目的で取り出す際、NULL 値の代わりにデフォルト値を使う場合、時として便利なことがあります。 その例です。

SELECT COALESCE(description, short_description, '(none)') ...

めでたしめでたし。

20130302追記

このようなことがあるので、DBは可能な限りNULLを避けること。
NULL撲滅委員会