MySQL之CONCAT、CONCAT_WS和GROUP_CONCAT函数用法

目录

一、准备数据

二、concat函数

1.语法格式

2.语法说明

3.场景使用

4.限制条件

三、concat_ws函数

1.语法格式

2.语法说明

3.场景使用

4.限制条件

四、group_conat函数

1.语法格式

2.语法说明

3.场景使用

4.限制条件


一、准备数据

#创建用户表
CREATE TABLE `user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(60) NOT NULL COMMENT '姓名',
  `age` int(11) NOT NULL COMMENT '年龄',
  `sex` int(1) NOT NULL COMMENT '性别(1是男 0是女 )',
  `hobby` varchar(255) DEFAULT NULL COMMENT '爱好',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

#插入数据
INSERT INTO `user` (`id`, `name`, `age`, `sex`, `hobby`) VALUES (1, '小明', 20, 1, '唱歌');
INSERT INTO `user` (`id`, `name`, `age`, `sex`, `hobby`) VALUES (2, '小红', 19, 0, '跳舞');
INSERT INTO `user` (`id`, `name`, `age`, `sex`, `hobby`) VALUES (3, '小蓝', 17, 1, NULL);

二、concat函数

1.语法格式

concat(str1, str2,...)

2.语法说明

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

3.场景使用

select concat(name,'爱好',hobby) from user;

4.限制条件

在5.7版本之前,单个字符串长度限制为65535个字节,在5.7之后,限制为4294967295个字节

三、concat_ws函数

1.语法格式

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

2.语法说明

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

3.场景使用

select concat_ws(",",name,age,hobby) from user;

4.限制条件

正常情况下长度是1024字节,可设置最大长度为102400字节

SET GLOBAL group_concat_max_len = 102400;
SET SESSION group_concat_max_len = 102400;

四、group_conat函数

1.语法格式

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

2.语法说明

使用distinct可以去重;order by子句是排序功能;separator是一个字符串的分隔符,缺省时默认是逗号

3.场景使用

①.不指定分隔符

select group_concat(name) from user;

②.指定分隔符

select group_concat(name separator '#') from user;

4.限制条件

正常情况下长度是1024字节,可设置最大长度为102400字节

SET GLOBAL group_concat_max_len = 102400;
SET SESSION group_concat_max_len = 102400;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值