共通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エディタを開く