Edited at

MYSQLの関数 COALESCE

More than 3 years have passed since last update.

 リストの最初の非NULL値を返すとかいうやつ。ぱっとしないけど使い方しだいでは化ける。


構文

COALESCE(value,...)

COALESCE関数は任意の個数の引数を取り,引数の最初の非NULL値を返します。非NULL値が存在しない場合のみNULLを返します。


使い道

 うまく使うことで条件分岐の制御構造として利用可能。

SELECT

shop.name,
COALESCE(
shop.building_name,
shop.area_name,
"地域情報なし"
) as spot
FROM
shop
....

複数カラムの内容を段階的に突っ込んでいく、みたいなことが可能。

上の例だとspot列として店舗のビル名を、ビル名がnullの場合エリア名を、エリア名がnullの場合"地域情報なし"の文字列を入れる、って感じになる。


英語的に

 読み方は「コーアレス」。後アクセント。ラテン語由来でスペルと音を紐付けるのが厳しい。 意味は「合体」。まぁそんなとこか。