ゆるく働き ゆるく生きる ゆるいだれかの日記

menu

ゆるりの足あと


【MySQL】concatでトラブル?クエリがおかしい時にチェックすべき1ポイント


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,))と””ではなく”を使えばうまくいきました。

少しはお役に立てましたか?

役に立つかも?と思われた方はぜひシェアを!

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

過去に作成したサイト集