CONCAT関数を使用することで複数の文字列を結合することができますが、なぜか一部クエリが返ってこないケースがありました。
特にエラーなどの表示はなし。
Google先生に尋ねるとgroup_concat_max_lengthの設定がどうとか?おかしな回答ばかり。
Qiitaで探したところ、ありました。下記です。
CONCATでの文字列連結時にひとつでもNULLな項目があると「NULL」扱いになってしまう
NULLがデータベースに含まれているとconcatの際に、こういったトラブルが発生することがあるとのことです。
CONCAT(IFNULL(column_a, ”), IFNULL(column_b, ”), IFNULL(column_c,”))としてNULLが返ってくるのを回避しなければならないようです。
※Qiitaの記事では、CONCAT(IFNULL(column_a, “”), IFNULL(column_b, “”), IFNULL(column_c,””))となっていましたが、私の環境ではエラーになりました。
※CONCAT(IFNULL(column_a, ”), IFNULL(column_b, ”), IFNULL(column_c,”))と””ではなく”を使えばうまくいきました。
コメント