mysql中的结果拼接
mysql中的字符串拼接不能使用+,+只能用来做数字相加。
要连接字符串只能使用concat或者concat_ws
(1)concat
1.作用
将多个结果作为字符串拼接在一起
2.语法
- CONCAT(str1,str2...)
3.实例
- SELECT CONCAT(o.user_code,o.user_name) FROM sys_user o WHERE id = 109007
4.注意
如果说要拼接的字符串中有一个是null,那么返回结果就是null
所以,我们通常配合使用IFNULL
- SELECT CONCAT(IFNULL(o.is_admin,''),o.user_name) FROM sys_user o WHERE id = 109007
这样如果is_admin为null,那么返回的就是user_name
(2)concat_ws
1.作用
将多个结果拼接在一起,使用指定的分隔符
2.语法
- CONCAT_WS(separator,str1,str2,...)
3.实例
- SELECT CONCAT_WS(';',o.user_code,o.user_name) FROM sys_user o WHERE id = 109002
4.注意
如果说要拼接的字符串中有null,返回结果也不会是null
(3)group_concat
1.作用
将多行的字符串按分组整合成一个字符串,必须配合group使用
2.语法
- GROUP_CONCAT(expr1,expr2)
3.实例
对于全校学生信息,按班级将学生姓名拼接在一起
- SELECT
- o.id,
- group_concat(o.student_name)
- FROM
- student_info o
- GROUP BY
- o.class_id