SQLでNULLを値に変換する方法は?
COALESCE関数ってどうやって使うの?
わかりやすく教えてほしい!
こういった疑問にこたえます。
COALESCE関数は欠損値をデフォルト値に置き換えるときによく使います。
エンジニアの僕がわかりやすく解説します。
COALESCE関数の使い方
COALESCE関数はSQL独特の関数で、引数の数が決まっておらず記述する数を自由に変えられます。
左から引数を見て、NULLではない最初の値を返します。
COALESCE関数の構文は次の通りです。
COALESCE(データ1, データ2, データ3, ・・・)
NULLが演算や関数の中に紛れ込むと結果が全てNULLになってしまいます。これを回避するときに役立つ関数です。
例えば次のような、sampleテーブルがあったとします。
str1 |
banana |
apple |
orange |
このsampleテーブルのnullを「NULLです」という文字列に変換して取得するためのSQLは次の通りです。
SELECT COALESCE(str1, 'NULLです') FROM sample;
実行結果
coalesce |
banana |
NULLです |
apple |
orange |
このようにNULLを含む列であってもCOALESCE関数を使えば別の値に変換することができます。
金額データであればNULLを0として計算させたりすることも可能ですので覚えておくと便利です。
COALESCE関数の使い方まとめ
解説の内容をまとめます。
- COALESCE関数はNULLを別の値に変換するための関数
- NULLを演算や関数に紛れ込むのを防ぐときによく使う
以上、お疲れ様でした。
コメント