mysql 实现字符串的拼接
在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 实现字符串的拼接相关推荐
- mysql截取字符串去重,mysql 截取字符串 去重 拼接
1:字符串截取 LEFT(guid_,LENGTH(guid_) - 5)//1001-1002-1003 截取为 1001-1002 2:判断是否存在某字符串中 IN('1001','1002', ...
- Oracle和Mysql中的字符串的拼接
SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要 以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符 串类型的字段拼接计 ...
- MySql、Oracle、MSSQL中的字符串的拼接
字符串的拼接 1,Mysql 在Java.C#等编程语言中字符串的拼接可以通过加号"+"来实现,比如:"1"+"3"."a&quo ...
- JAVA的MySQL字符串拼接_字符串的拼接-MYSQL
SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符串类型的字段拼接计算: ...
- mysql在GROUP_CONCAT中拼接字符串
1.在 GROUP_CONCAT 函数中拼接字符串直接使用 + 是不行的,会报错: 2.在 GROUP_CONCAT 函数中拼接字符串要用 CONCAT 函数或者 CONCAT_WS 函数,并且在使用 ...
- MySQL字符串的拼接、截取、替换、查找位置
MySQL字符串的拼接.截取.替换.查找位置. 常用的字符串函数: 函数 说明 CONCAT(s1,s2,...) 返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NUL ...
- MySQL的字符串拼接函数
MySQL的字符串拼接有三个函数 CONCAT(str1,str2,-) CONCAT_WS(separator,str1,str2,-) GROUP_CONCAT(expr) 这三个函数都各有作用, ...
- mysql处理字符串的两个绝招:substring_index,concat
感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,速度贼快,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) ...
- mysql将字符串字段转为数字排序或比大小
SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...
- 杂记(1)java读取char类型2. 大小写字母的转换3. 字符串的拼接4. 一串数字排序
1. java读取char类型 应为java中没有nextchar();函数,所以只能先读取一行,即 Sting a=sc.nextline(); char need=a.charAt(0);//取字 ...
最新文章
- 插入排序--希尔排序
- 第七章 控制PL/SQL错误
- 挑战杯获奖作品_我校学生参加河北省“挑战杯”竞赛获奖作品展示二
- python推荐系统算法朴素贝叶斯_机器学习经典算法之朴素贝叶斯分类
- bzoj1003[ZJOI2006]物流运输
- 程序员工作交接文档怎么写_你认为程序员需不需要写文档?需要写哪些文档?...
- 如何用计算机画地形地貌图,基本地形图计算软件(图号计算器)V2.1 最新版
- GCC 预处理的宏 (predefined macros)
- 吃什么怎么吃关系着民族的命运
- 你不知道的京东数据库运维自动化体系建设之路
- 小菜鸟学浏览器之感悟
- 脉脉行业头条业务的思路猜想
- #Paper Reading#Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts
- FE!FE!面板固定效应模型:你用对了吗
- 一些对模糊搜索的思考
- kali 局域网断网
- 西瓜书学习笔记(一、绪论)
- oracle中数据库的说法,下列关于Oracle数据库说法正确的是)
- Kaggle比赛模型融合方法
- 005. 虚拟机的快照与克隆