您的位置:

MySQL wm_concat函数的使用

一、wm_concat简介

1、wm_concat函数是MySQL自建函数,用于对某一字段进行聚合,一般用于将多行数据中某一字段的值串联为一个字符串。
2、MySQL并不支持wm_concat函数,但网上流传的方法是将wm_concat函数用group_concat代替,实现效果基本一致。

二、wm_concat函数的语法

QUERY
SELECT FIELD1, wm_concat(FIELDNAME2)
FROM TABLENAME
GROUP BY FIELDNAME1;

其中,QUERY表示查询语句;FIELD1表示需要聚合的字段;FIELDNAME2表示需要串联的字段;TABLENAME表示需要查询的表名;FIELDNAME1表示需要分组的字段。

三、wm_concat函数的使用

1、将多行数据中某一字段的值串联为一个逗号分隔的字符串

SELECT GROUP_CONCAT(FIELDNAME1,',')
FROM TABLENAME;

上述代码将会以逗号为分隔符,将数据表TABLENAME中的字段FIELDNAME1的值串联为一个字符串。

2、将多行数据中某一字段的值串联为一个自定义字符分隔的字符串

SELECT GROUP_CONCAT(FIELDNAME1 SEPARATOR ' ')
FROM TABLENAME;

上述代码将会以空格为分隔符,将数据表TABLENAME中的字段FIELDNAME1的值串联为一个字符串。

3、将多行数据中某一字段的值串联为一个自定义字符分隔的字符串(包含html标签)

SELECT GROUP_CONCAT(CONCAT('<b>',FIELDNAME1,'</b>') SEPARATOR ';')
FROM TABLENAME;

上述代码将会以分号为分隔符,将数据表TABLENAME中的字段FIELDNAME1的值包含在<b>和</b>标签内,最终串联为一个字符串。

四、小结

wm_concat函数是一个非常实用的MySQL自建函数,可以方便地将多行数据中某一字段的值串联为一个字符串,并且支持自定义分隔符和HTML标签的使用。虽然MySQL并不支持wm_concat函数,但我们通过使用group_concat函数可以达到相同的效果。