在Mysql 数据库中存在两种字符串连接操作.具体操作如下

一. 语法:

1. CONCAT(string1,string2,…)   说明 : string1,string2代表字符串,concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

例1:

例2:

2. CONCAT_WS(separator,str1,str2,...)

说明 : string1,string2代表字符串,concat_ws 代表 concat with separator,第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

举例1:

mysql> select concat_ws('#','courseName=','NX',null) AS nx_courseName;
+-----------------------+
| nx_courseName |
+-----------------------+
| courseName=#NX|
+-----------------------+
1 row in set (0.00 sec)

例2:

mysql> select concat_ws('null','courseName=','NX',null) AS nx_courseName;+-----------------------+
| nx_courseName |
+-----------------------+
| NULL |
+-----------------------+
1 row in set (0.00 sec)

3. MySQL中group_concat函数
完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

基本查询

mysql> select * from stu1;
+------+------+
| id| name |
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200   |
|3 | 500   |
+------+------+
6 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔(默认)

mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,分号分隔

mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500   |
+------+----------------------------------+
3 rows in set (0.00 sec)

以id分组,把去冗余的name字段的值打印在一行,

逗号分隔

mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20   |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序

mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10   |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)

还有一个简单的连接方式为: ||

mysql> select *  from student;
+----+------+-------+----------+------------+
| id | age  | score | name     | birth      |
+----+------+-------+----------+------------+
|  1 |   23 |    78 | 李四     | 2017-10-10 |
|  2 |   24 |    78 | zhangsan | 2017-10-10 |
|  3 |   25 |    99 | 王五     | 2016-05-17 |
+----+------+-------+----------+------------+
3 rows in set (0.00 sec)

mysql> select id+999,name,name+99,name+'999' from student;
+--------+----------+---------+------------+
| id+999 | name     | name+99 | name+'999' |
+--------+----------+---------+------------+
|   1000 | 李四     |      99 |        999 |
|   1001 | zhangsan |      99 |        999 |
|   1002 | 王五     |      99 |        999 |
+--------+----------+---------+------------+
3 rows in set, 6 warnings (0.00 sec)

mysql 实现字符串的拼接相关推荐

  1. mysql截取字符串去重,mysql 截取字符串 去重 拼接

    1:字符串截取 LEFT(guid_,LENGTH(guid_) - 5)//1001-1002-1003  截取为 1001-1002 2:判断是否存在某字符串中 IN('1001','1002', ...

  2. Oracle和Mysql中的字符串的拼接

    SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要 以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符 串类型的字段拼接计 ...

  3. MySql、Oracle、MSSQL中的字符串的拼接

    字符串的拼接 1,Mysql 在Java.C#等编程语言中字符串的拼接可以通过加号"+"来实现,比如:"1"+"3"."a&quo ...

  4. JAVA的MySQL字符串拼接_字符串的拼接-MYSQL

    SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符串类型的字段拼接计算: ...

  5. mysql在GROUP_CONCAT中拼接字符串

    1.在 GROUP_CONCAT 函数中拼接字符串直接使用 + 是不行的,会报错: 2.在 GROUP_CONCAT 函数中拼接字符串要用 CONCAT 函数或者 CONCAT_WS 函数,并且在使用 ...

  6. MySQL字符串的拼接、截取、替换、查找位置

    MySQL字符串的拼接.截取.替换.查找位置. 常用的字符串函数: 函数 说明 CONCAT(s1,s2,...) 返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NUL ...

  7. MySQL的字符串拼接函数

    MySQL的字符串拼接有三个函数 CONCAT(str1,str2,-) CONCAT_WS(separator,str1,str2,-) GROUP_CONCAT(expr) 这三个函数都各有作用, ...

  8. mysql处理字符串的两个绝招:substring_index,concat

    感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,速度贼快,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) ...

  9. mysql将字符串字段转为数字排序或比大小

    SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...

  10. 杂记(1)java读取char类型2. 大小写字母的转换3. 字符串的拼接4. 一串数字排序

    1. java读取char类型 应为java中没有nextchar();函数,所以只能先读取一行,即 Sting a=sc.nextline(); char need=a.charAt(0);//取字 ...

最新文章

  1. 插入排序--希尔排序
  2. 第七章 控制PL/SQL错误
  3. 挑战杯获奖作品_我校学生参加河北省“挑战杯”竞赛获奖作品展示二
  4. python推荐系统算法朴素贝叶斯_机器学习经典算法之朴素贝叶斯分类
  5. bzoj1003[ZJOI2006]物流运输
  6. 程序员工作交接文档怎么写_你认为程序员需不需要写文档?需要写哪些文档?...
  7. 如何用计算机画地形地貌图,基本地形图计算软件(图号计算器)V2.1 最新版
  8. GCC 预处理的宏 (predefined macros)
  9. 吃什么怎么吃关系着民族的命运
  10. 你不知道的京东数据库运维自动化体系建设之路
  11. 小菜鸟学浏览器之感悟
  12. 脉脉行业头条业务的思路猜想
  13. #Paper Reading#Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts
  14. FE!FE!面板固定效应模型:你用对了吗
  15. 一些对模糊搜索的思考
  16. kali 局域网断网
  17. 西瓜书学习笔记(一、绪论)
  18. oracle中数据库的说法,下列关于Oracle数据库说法正确的是)
  19. Kaggle比赛模型融合方法
  20. 005. 虚拟机的快照与克隆

热门文章

  1. 走进WPF之开发类似Visio软件
  2. 非线性系统线性化过程
  3. 恒生O32系统的前世今生
  4. [转]抢先Mark!微信公众平台开发进阶篇资源集锦
  5. QueryDSL基本操作demo
  6. UISwitch详解
  7. Python 植物大战僵尸代码实现
  8. js实现敏感词过滤算法
  9. C#点餐系统源码,在线订餐系统源码
  10. linux安装文件的后缀,Linux下各种后缀名文件安装