条件に応じた文字列の連結をMySQLで実現の方法
MySQLでは、指定した区切り記号で複数の文字列を結合し、NULL値を自動的に除外できるCONCAT_WS関数を利用できます。
文法は次のとおりです。
CONCAT_WS(区切り文字、str1、str2、…)
なお、ここでseparatorは区切り文字、str1、str2などは連結する文字列を表す。
本資料は、この事実を裏付ける同機関による調査の結果を引き出して示している。
テーブルstudentに、以下のフィールドを含むと仮定します:
1.名前 年齢 性別2.アリス 20 女性3.ボブ 22 男性4.チャーリー 21 男性
男性だけのレコードでnameカラムを「,」で結合するには、このSQL文を使用してください。
性別が’男性’である学生の「名前」を カンマ “,” 区切りで連結した結果を 「concatenated_names」として取得する
上記のSQL文を実行の後、以下の結果が出力されます:
ボブ、チャーリー
性別が男性であるすべての「name」フィールドをカンマで区切って結合した結果
NULL値が含まれる文字列結合をする際にはCONCAT_WSを併用することで、自動的にNULLを除去してくれる。