MySQLでNULLの時に値を返したい場合はifnullを使う。

例えば、年齢を取得したいとして、ageを入力してない人がいる場合にnullが取れるとアプリ側で、よけいな処理を入れるか、最悪エラーになる場合も。
(そもそもuserテーブルを作成する時にageにdefaultを指定すればいいんですが・・)

SELECT age FROM user;

上のSQL文でageを取ると、数値とnullが混ざって取れるなんていう非常に悪い設計だった場合、、

SELECT ifnull( age, 0 ) FROM user;

こんな感じで、ifnullを使うと、ageがnullだった場合に0が返ります。

ま、上の例は微妙ですが、使い道は色々ありそうなのでメモ。
(基本的には、default値を指定したテーブルを最初から作ろうw)

返信を残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください