MySQLで外部結合したときに、COUNT()の結果が0件だとNULL値が返却されてしまったため、NULLを0として表示する関数を調べました。
ついでに他のDBについても書きました。
COALESCE (a, 0)
MySQL、SQLite、PostgreSQL、Oracle
NVL (a, 0)
Oracle
ISNULL (a, 0)
SQL Server
第1引数(この場合カラムa)がNULLだった場合、関数は第2引数(この場合は0)を返します。
第1引数がNULLでなければ、関数はそのまま第1引数を返します。
これらは同じような使い方ができますが、COALESCE()だけ仕様が異なり、引数を無限に設定することができます。
COALESCE()は第1引数から順に「その値がNULLかどうか」を判定し、NULLであれば次の引数へ、NULLでなければその値を返却します。
全ての引数がNULLだった場合は、諦めてNULLを返却します。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント