MySQL 函数 concat、concat_ws 和 group_concat

一、concat()函数

concat(str1, str2,...)

将多个字符串连接成一个字符串。返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。


例子:

select concat (id, title, counter) as info from tb_user;
select concat (id, ',', title, ',', counter) as info from tb_user;


二、concat_ws()函数

concat_ws(separator, str1, str2, ...)

和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)。

第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。


select concat (id, ',', title, ',', counter) as info from tb_user;

等价

select concat_ws (',', id, title, counter) as info from tb_user;



三、group_concat()函数

group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )

将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

在有group by的查询语句中,select指定的字段要么就包含在group by语句的后面,作为分组的依据,要么就包含在聚合函数中。


例子:

select group_id, name, group_concat(distinct name) from tb_user group by group_id;  




声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
随机推荐
MySQL DATETIME 时间查询和转换
SQL 注入的生命力
WordPress 的用户角色和权限
CSS 图片缩小出现锯齿
MySQL的外键总结
使用 svg 作为背景图片
Nine 主题
JavaScript 流式传输数据 SSE (Server-Sent Events)