分隔多个CONCAT列

时间:2013-01-09 19:12:43

标签: mysql

我有这个查询

CONCAT_WS('<br>', GROUP_CONCAT(DISTINCT events.ID, events.EVENT_NAME, events.start_datetime SEPARATOR '<br><br>')) AS all_ids

产生类似这样的东西:

1Some Event!2013-01-03 21:00:00<br><br>

14Another Event2012-12-31 19:00:00<br><br>

25Friday Event2013-01-10 21:00:00<br><br>

但我想用<BR>分隔每一列,结果如下:

1<BR>
Some Event!<BR>
2013-01-03 21:00:00<br><br>

14<BR>
Another Event<BR>
2012-12-31 19:00:00<BR><BR>

25<BR>
Friday Event<BR>
2013-01-10 21:00:00<br><br>

谢谢!

3 个答案:

答案 0 :(得分:1)

CONCAT_WS('<br>', GROUP_CONCAT(DISTINCT events.ID + '<br>', events.EVENT_NAME + '<br>', events.start_datetime + '<br>' SEPARATOR '<br><br>')) AS all_ids

您可能必须先将列转换为varchars,然后才能将BR标记附加到值

答案 1 :(得分:1)

您应该可以在每个字段周围使用CONCAT()

CONCAT_WS('<br>', 
    GROUP_CONCAT(DISTINCT 
            concat(events.ID, '<br>'), 
            concat(events.EVENT_NAME, '<br>'), events.start_datetime SEPARATOR '<br><br>')) AS all_ids

答案 2 :(得分:0)

为什么你使用GROUP_CONCAT呢? 查询列并根据需要输出/格式化它会更简单。