SQLの複数行マージ関数collect_set、collect_list、concat_ws

データベースからフィールドをN個取り出して、それを結合して「,」で区切って表示するのですが、最初はCONCAT()で処理しようと思ったのですが、意外とCONCAT_WS()が出てきて面倒でした。マニュアル、とても使いやすいです。

CONCAT_WS(separator, str1, str2,...)

これは CONCAT() の特殊な形式で、最初のパラメータは残りのパラメータ間の区切り文字になります。区切り文字が NULL の場合、戻り値も NULL になります。区切り文字パラメータの後に NULL および空の文字列がある場合、連結される文字列の間に区切り文字が追加されます。

簡単な例は次のとおりです。

関数 を購読