エンジニア男

勉強したことの忘備録としてつらつら書いていきます。

MySQLのconcatを使用した際、ひとつでもNULLのカラムがあると全てNULL扱いになってしまう。

 

以下のクエリ投げる時、カラムにひとつでもNULLがあると全てNULL扱いになってしまう。

SELECT concat(name, age, favorite) FROM person;

 

全てNULLになるのを防ぐために、IFNULLを使用する

SELECT concat(IFNULL(name, ""), IFNULL(age, ""), IFNULL(favorite, "")) FROM person;

 第1引数のカラムがNULLの場合は第2引数に指定した文字列が変えるようになる。