MySQL拼接
一、经典拼接`concat(x,x,....)`二、分隔符拼接`CONCAT_WS(separator,str1,str2,...)`三、分组拼接`GROUP_CONCAT(expr)`一、经典拼接concat(x,x,....)
用法案例:
SELECTconcat( '字符串', '拼接', ',啥都可以', '嘿嘿' ) AS concats FROM DUAL
注意:
如果有任何一个参数为NULL,则返回值为NULL;
二、分隔符拼接CONCAT_WS(separator,str1,str2,...)
-- CONCAT_WS(分隔符,字符串1,字符串2,...)SELECTCONCAT_WS(':','现在时间',now()) AS concats FROM DUAL
注意:
如果分隔符为NULL,则结果为NULL;
三、分组拼接GROUP_CONCAT(expr)
group_concat函数 实现分组查询之后的数据进行合并,并返回一个字符串结果。用于将多个字符串拼接成一个字符串。MySql默认的最大拼接长度为1024个字节格式:
GROUP_CONCAT(DISTINCT 要拼接的字段 ORDER BY 排序字段 ASC/DESC SEPARATOR '分隔符')
-- GROUP_CONCAT(DISTINCT 要拼接的字段 ORDER BY 排序字段 ASC/DESC SEPARATOR '分隔符')-- 不好写例子,直接借用的leetCode上的题SELECTsell_date,count( DISTINCT product ) AS num_sold,GROUP_CONCAT( DISTINCT product ORDER BY product SEPARATOR ',' ) AS products FROMActivities GROUP BYsell_date;
通过使用DISTINCT
可以排除重复值;如果希望对结果中的值进行排序,可以使用ORDER BY
子句;SEPARATOR
是一个字符串值,默认为逗号
分隔。