MySQL 拼接成一个字符串
2016-06-20 09:54
585 查看
1.方法 CONCAT(str1,str2,...) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
注意: 此方法在转换成字符串的时候,如果有一个参数为NULL ,则返回结果为NULL.
![](https://img-blog.csdn.net/20160620093634257?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.方法: CONCAT_WS(), 是 CONCAT() 的特殊形式,第一个参数 separator 为分隔符,当分隔符为NULL 的时候,CONCAT_WS() 的结果为NULL. 当str... 参数中有NULL字符串的时候,NULL 会被忽略。
![](https://img-blog.csdn.net/20160620093804227?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.方法 GROUP_CONCAT( [DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'] );将结果打印在一行,默认以“,”作为分隔符。 DISTINCT 去除重复的数据。
eg: 用户角色关系表中,查询用户的多个角色拼接成一个字符串 tb_sys_user 用户表,tb_user_role 用户角关系表。 tb_sys_role 角色表
SELECT
USER_ID,
LOGIN_NAME,
USER_NAME ,
GROUP_CONCAT(DISTINCT(r.ROLE_NAME))
FROM tb_sys_user AS u
LEFT JOIN tb_user_role AS t
ON u.USER_ID=t.USER_ID
LEFT JOIN tb_sys_role AS r
ON t.ROLE_ID = r.ROLE_ID
WHERE
GROUP BY USER_ID
注意: 此方法在转换成字符串的时候,如果有一个参数为NULL ,则返回结果为NULL.
2.方法: CONCAT_WS(), 是 CONCAT() 的特殊形式,第一个参数 separator 为分隔符,当分隔符为NULL 的时候,CONCAT_WS() 的结果为NULL. 当str... 参数中有NULL字符串的时候,NULL 会被忽略。
3.方法 GROUP_CONCAT( [DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'] );将结果打印在一行,默认以“,”作为分隔符。 DISTINCT 去除重复的数据。
eg: 用户角色关系表中,查询用户的多个角色拼接成一个字符串 tb_sys_user 用户表,tb_user_role 用户角关系表。 tb_sys_role 角色表
SELECT
USER_ID,
LOGIN_NAME,
USER_NAME ,
GROUP_CONCAT(DISTINCT(r.ROLE_NAME))
FROM tb_sys_user AS u
LEFT JOIN tb_user_role AS t
ON u.USER_ID=t.USER_ID
LEFT JOIN tb_sys_role AS r
ON t.ROLE_ID = r.ROLE_ID
WHERE
GROUP BY USER_ID
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复