24Nov
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,”))と””ではなく”を使えばうまくいきました。
以上、 【MySQL】concatでトラブル?クエリがおかしい時にチェックすべき1ポイント でした!
もし上記で解決しない場合は、teratailで質問すると解決の糸口が見つかるかもしれません。
ご不明な点があればコメント頂ければできる限り対応したいと思います!(たぶんteratailの方が早いし詳しいですが・・・)
Sponsored by
少しはお役に立てましたか?
役に立つかも?と思われた方はぜひシェアを!
関連記事
コメント
この記事へのトラックバックはありません。
この記事へのコメントはありません。