NULLのふるまい
計算式の値にNULLが含まれている場合、計算結果は必ずNULLとなってしまう。なので、SUMなどで集計する場合、カラムにNULLが含まれていないかは要注意!
NULLの計算
NULLが想定される場合は、coalesce関数を用いる。COALESCE( [値], [第一引数がNULLの場合に使う値] ) というように引数を渡す。
実装例(SUM関数との併用)
SELECT SUM( COALESCE(price, 0) ) FROM orders;
Sources
- null値との四則演算結果は必ずnullなので、coalesce()で0に変換 – end0tknrのkipple – web写経開発
- [SQL]SUMの結果がNULLになってしまう時の対処法 | イザ!WEB開発者の惚気