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详解相关推荐

  1. mysql explain 索引_MySql中Explain详解与索引最佳实践

    使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的.分析你的查询语句或是结构的性能瓶颈 下面是使用 explain 的例子: 在 select 语句之 ...

  2. mysql的concat函数_MySQL中concat函数(连接字符串)

    MySQL中concat函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制 ...

  3. mysql explain语句_Mysql explain 语句详解

    explain 语句详解 explain 写在 select 前,如下 mysql> explain select * from user_info where id = 2\G ******* ...

  4. mysql.user表_mysql.user表详解

    GRANT语法: GRANT 权限 ON 数据库.* TO 用户名@'登录主机' IDENTIFIED BY '密码' 权限: ALL,ALTER,CREATE,DROP,SELECT,UPDATE, ...

  5. mysql索引机制_mysql索引原理详解

    预备知识 什么是索引? 上一篇中有详细的介绍,可以过去看一下:什么是索引? 索引的本质:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机 ...

  6. mysql检索过程_mysql索引原理详解

    一.索引概念 索引的本质就是不断缩小想要查找到的数据的范围来筛选想要的结果,同时吧随机事件变成顺序事件 二.磁盘中的一些概念 扇区:磁盘存储的最小单位,一般为512Byte 磁盘块:文件系统与磁盘交互 ...

  7. mysql 插入加锁_Mysql加锁过程详解(9)-innodb下的记录锁,间隙锁,next-key锁

    你需要知道的 之前我们介绍了排他锁,其实innodb下的记录锁(也叫行锁),间隙锁,next-key锁统统属于排他锁. 行锁 记录锁其实很好理解,对表中的记录加锁,叫做记录锁,简称行锁. 生活中的间隙 ...

  8. mysql日期教程_MySQL日期函数详解

    Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数,希望能帮助到大家. 1.DAYOFWEEK(date) SELECT DAYOFWEE ...

  9. 引导mysql执行计划_Mysql执行计划详解

    --歌手表 CREATE TABLE`singer` ( `id`int(11) unsigned NOT NULL, `update_time`datetime DEFAULT NULL, `nam ...

最新文章

  1. 【SQL】IS NULL and = NULL 在 sql server 中的区别
  2. 存储过程系列之调试存储过程 SQL Server 2005
  3. 梦幻手游登录显示服务器爆满,《梦幻西游》手游全服爆满,iOS二区开启_ 《梦幻西游》手游官网-人人都玩,无处不在...
  4. python中continue用法案例_Python continue语句实例用法
  5. python源码脚本实例_python编写一个会算账的脚本的示例代码
  6. Service Mesh-Linkerd安装与使用
  7. 计算机图形学用到哪些概率知识,图形学所需的数学知识
  8. 门锁了开不了_送智能门锁丨选购时没有注意这些,着火时智能门锁可能会打不开?...
  9. 小说Symbian的签名
  10. linux伊甸园,新手学堂:给Ubuntu系统配置Java开发环境-Linux伊甸园----Linux|Unix|新闻|下载|论坛|人才|教程|自由软件|...
  11. ERP原理及应用教程-第五章
  12. 2019314编竹筐问题
  13. 使用Inkscape制作网易云音乐LOGO
  14. 注册免费域名教程(怎样免费注册域名)
  15. 2022 最新 Memcached 面试题
  16. uni-app开发经验分享十三:实现手机扫描二维码并跳转全过程
  17. OpenCV可以识别文字吗?
  18. face_recognition移植至树莓派
  19. Jetson TX2刷机教程
  20. 人工智能期末复习:聚类(详细笔记)

热门文章

  1. Web3.js 学习
  2. java 交换两个数的值(临时变量,加减,异或)
  3. 酒店房间和 C++ 局部变量的作用域
  4. 基础数学落后与高端人才流失
  5. 《西线无战事》:合上书的那一刻:只想痛哭
  6. 3.0 go mod之远程仓库搭建-代码示例
  7. Coolite动态加载CheckboxGroup,无法在后台中获取
  8. Codeforces 1045. A. Last chance(网络流 + 线段树优化建边)
  9. 可以用什么代替平面镜
  10. ceph中查看一个rbd的image的真实存储位置