mysql concat例子_MYSQL中CONCAT详解
concat()函数
1. 功能:
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
2. 语法
concat(str1, str2,...)
3. 例子
案例一:
mysql> select concat('苹果','香蕉','梨子');
+------------------------------+
| CONCAT('苹果','香蕉','梨子') |
+------------------------------+
| 苹果香蕉梨子 |
+------------------------------+
案例二:出现 null 的情况
mysql> select concat('苹果','香蕉',null);
+----------------------------+
| CONCAT('苹果','香蕉',null) |
+----------------------------+
| NULL |
+----------------------------+
concat_ws()函数
1. 功能
concat_ws()函数功能和concat()一样,将几个字符串拼接起来,只不过可以指定分隔符。
2. 语法
concat_ws(separator, str1, str2, ...)
3. 例子
案例1:将水果连接起来,并通过逗号分隔
mysql> select concat_ws(',','苹果','香蕉','梨子');
+-------------------------------------+
| concat_ws(',','苹果','香蕉','梨子') |
+-------------------------------------+
| 苹果,香蕉,梨子 |
+-------------------------------------+
案例2:参数出现 null 时,则忽略该参数
mysql> select concat_ws(',','苹果',null,'梨子');
+-----------------------------------+
| concat_ws(',','苹果',null,'梨子') |
+-----------------------------------+
| 苹果,梨子 |
+-----------------------------------+
案例3:如果参数全部为 null , 则返回空字符串
mysql> select concat_ws(',',null,null,null);
+-------------------------------+
| concat_ws(',',null,null,null) |
+-------------------------------+
| |
+-------------------------------+
案例4:如果分隔符为 null ,则结果为 null
mysql> select concat_ws(null,'苹果','香蕉','梨子');
+--------------------------------------+
| concat_ws(null,'苹果','香蕉','梨子') |
+--------------------------------------+
| NULL |
+--------------------------------------+
group_concat()函数
1. 功能
将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
2. 语法
group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ]
[separator '分隔符'] )
说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。
3. 例子
准备数据 ,这里我们六年级故意多弄一个,为了方便后面测试
insert into table1 (study_section , grade ) values
('小学','一年级'),
('小学','二年级'),
('小学','三年级'),
('小学','四年级'),
('小学','五年级'),
('小学','六年级'),
('小学','六年级'),
('初中','初一'),
('初中','初二'),
('初中','初三'),
('高中','高一'),
('高中','高二'),
('高中','高三');
案例一:根据学段获取每个学段的年级
select study_section,group_concat(grade) from table1 group by study_section;
最后执行结果:
案例二:去除重的年级
select study_section,group_concat(distinct grade) from table1 group by study_section;
最后执行效果
案例三:指定排序顺序
按照年级进行升序排列
mysql> select study_section,group_concat(distinct grade order by grade asc) from table1 group by study_section;
+---------------+-------------------------------------------------+
| study_section | group_concat(distinct grade order by grade asc) |
+---------------+-------------------------------------------------+
| 初中 | 初一,初三,初二 |
| 小学 | 一年级,三年级,二年级,五年级,六年级,四年级 |
| 高中 | 高一,高三,高二 |
+---------------+-------------------------------------------------+
按照年级进行降序排列
mysql> select study_section,group_concat(distinct grade order by grade desc) from table1 group by study_section;
+---------------+--------------------------------------------------+
| study_section | group_concat(distinct grade order by grade desc) |
+---------------+--------------------------------------------------+
| 初中 | 初二,初三,初一 |
| 小学 | 四年级,六年级,五年级,二年级,三年级,一年级 |
| 高中 | 高二,高三,高一 |
+---------------+--------------------------------------------------+
案例四:指定分割符号 默认用逗号分隔,这里指定用分号进行分隔
mysql> select study_section,group_concat(distinct grade order by grade separator ';') from table1 group by study_section;
+---------------+-----------------------------------------------------------+
| study_section | group_concat(distinct grade order by grade separator ';') |
+---------------+-----------------------------------------------------------+
| 初中 | 初一;初三;初二 |
| 小学 | 一年级;三年级;二年级;五年级;六年级;四年级 |
| 高中 | 高一;高三;高二 |
+---------------+-----------------------------------------------------------+
mysql concat例子_MYSQL中CONCAT详解相关推荐
- mysql explain 索引_MySql中Explain详解与索引最佳实践
使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的.分析你的查询语句或是结构的性能瓶颈 下面是使用 explain 的例子: 在 select 语句之 ...
- mysql的concat函数_MySQL中concat函数(连接字符串)
MySQL中concat函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制 ...
- mysql explain语句_Mysql explain 语句详解
explain 语句详解 explain 写在 select 前,如下 mysql> explain select * from user_info where id = 2\G ******* ...
- mysql.user表_mysql.user表详解
GRANT语法: GRANT 权限 ON 数据库.* TO 用户名@'登录主机' IDENTIFIED BY '密码' 权限: ALL,ALTER,CREATE,DROP,SELECT,UPDATE, ...
- mysql索引机制_mysql索引原理详解
预备知识 什么是索引? 上一篇中有详细的介绍,可以过去看一下:什么是索引? 索引的本质:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机 ...
- mysql检索过程_mysql索引原理详解
一.索引概念 索引的本质就是不断缩小想要查找到的数据的范围来筛选想要的结果,同时吧随机事件变成顺序事件 二.磁盘中的一些概念 扇区:磁盘存储的最小单位,一般为512Byte 磁盘块:文件系统与磁盘交互 ...
- mysql 插入加锁_Mysql加锁过程详解(9)-innodb下的记录锁,间隙锁,next-key锁
你需要知道的 之前我们介绍了排他锁,其实innodb下的记录锁(也叫行锁),间隙锁,next-key锁统统属于排他锁. 行锁 记录锁其实很好理解,对表中的记录加锁,叫做记录锁,简称行锁. 生活中的间隙 ...
- mysql日期教程_MySQL日期函数详解
Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数,希望能帮助到大家. 1.DAYOFWEEK(date) SELECT DAYOFWEE ...
- 引导mysql执行计划_Mysql执行计划详解
--歌手表 CREATE TABLE`singer` ( `id`int(11) unsigned NOT NULL, `update_time`datetime DEFAULT NULL, `nam ...
最新文章
- 【SQL】IS NULL and = NULL 在 sql server 中的区别
- 存储过程系列之调试存储过程 SQL Server 2005
- 梦幻手游登录显示服务器爆满,《梦幻西游》手游全服爆满,iOS二区开启_
《梦幻西游》手游官网-人人都玩,无处不在...
- python中continue用法案例_Python continue语句实例用法
- python源码脚本实例_python编写一个会算账的脚本的示例代码
- Service Mesh-Linkerd安装与使用
- 计算机图形学用到哪些概率知识,图形学所需的数学知识
- 门锁了开不了_送智能门锁丨选购时没有注意这些,着火时智能门锁可能会打不开?...
- 小说Symbian的签名
- linux伊甸园,新手学堂:给Ubuntu系统配置Java开发环境-Linux伊甸园----Linux|Unix|新闻|下载|论坛|人才|教程|自由软件|...
- ERP原理及应用教程-第五章
- 2019314编竹筐问题
- 使用Inkscape制作网易云音乐LOGO
- 注册免费域名教程(怎样免费注册域名)
- 2022 最新 Memcached 面试题
- uni-app开发经验分享十三:实现手机扫描二维码并跳转全过程
- OpenCV可以识别文字吗?
- face_recognition移植至树莓派
- Jetson TX2刷机教程
- 人工智能期末复习:聚类(详细笔记)