共通SQL

COALESCE

NULL値を別の値に置き換える(標準SQL)

解説

COALESCE(コアレス)関数は、引数として渡されたリストを左から順番に評価し、最初にNULLではなかった値を返す標準SQLの関数です。

「もしボーナスが未設定(NULL)だったら、0円として計算したい」といった、欠損データの穴埋め処理で頻繁に利用されます。

複数の引数を指定できるのが強み

Oracleの NVL() や MySQLの IFNULL() は引数を2つしか取れませんが、COALESCE() は3つ以上指定できるのが最大の特徴です。
例えば COALESCE(携帯電話番号, 自宅電話番号, '連絡先なし') と書けば、「携帯がなければ自宅、どちらもなければ『連絡先なし』と表示する」といった柔軟なフォールバック処理が1行で書けます。

構文
COALESCE(列名1, 列名2, ..., 代替値)
具体例
SELECT emp_name, COALESCE(bonus, 0) AS bonus_amount FROM emps_test;

この構文を実際に書いて試してみませんか?

SQLエディタを開く