MySQL的字符串拼接函数

MySQL的字符串拼接有三个函数

  • CONCAT(str1,str2,…)
  • CONCAT_WS(separator,str1,str2,…)
  • GROUP_CONCAT(expr)

这三个函数都各有作用,现在测试看看是什么样子的效果

准备数据表

CREATE TABLE `user_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `age` int(3) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

准备数据

id name age
1 Ana 24
2 Ame 24
3 Clid 27
4 Dave 27
5 Eva 27

测试

CONCAT、CONCAT_WS其实差不多,就是CONCAT_WS能自己设置分隔符,而且这两个字段是拼接同一行的数据。

使用CONCAT

select CONCAT(name,age) as result from user_info

结果

result
Ana27
Ame24
Clid24
Dave24
Eva24

使用CONCAT_WS

select CONCAT_WS(':',name,age) as result from user_info

结果

result
Ana:27
Ame:24
Clid:24
Dave:24
Eva:24

使用GROUP_CONCAT,这个能将多行聚合成一行,也比较常用的

select GROUP_CONCAT(name) as result from user_info

结果

result
Ana,Ame,Clid,Dave,Eva

还可以分组聚合

select GROUP_CONCAT(name) as result,age from user_info GROUP BY age

结果

result 							age
Ame,Clid,Dave,Eva				24
Ana								27

这三个函数都挺常用的,但是我只是简单演示该功能,深入可以查查其他资料。

你可能感兴趣的:(mysql,数据库,database)