当前位置:网站首页>MySQL String Concatenation - Various String Concatenation Practical Cases
MySQL String Concatenation - Various String Concatenation Practical Cases
2022-08-02 06:05:00 【good moon births autumn】
本文首发:MySQL 字符串拼接 - 多种字符串拼接实战案例 - 卡拉云
MySQL 字符串拼接可以使多个字段的值组成一个集合,不仅可以拼接字符串与字符串、空格、特殊符号甚至可以拼接中文文本,方便我们在不同场景下应用.
本教详细讲解 CONCAT()
和它的扩展形式 CONCAT_WS()
在字符串拼接的实战场景中的应用.如果你的应用场景需要周期性重复展示,推荐使用卡拉云将你的代码工具化,详情见本文文末.
MySQL 字符串拼接目录
1.CONCAT()
拼接字符串基本型
MariaDB [kalacloud_demo]> select * from kalacloud_student;
+----+-----------+----------+------------+-------------+---------+---------------+
| id | lastname | firstname | phone | wechat_id | subject | qualification |
+----+-----------+----------+------------+-------------+---------+---------------+
| 1 | 宋 | 阿美 | 1317777777 | songamei | 文学 | MPhil |
| 2 | 吕 | 小果 | 1317787879 | lvxiaoguo | 艺术 | MPhil |
| 3 | 谢 | 国庆 | 1398678999 | xieguoqing | 数学 | PHD |
| 4 | 蒋 | 铁柱 | 1379999999 | jiangtiezhu | 神学 | HS |
+----+-----------+----------+------------+-------------+---------+---------------+
4 rows in set (0.002 sec)
本教程使用一组存在「kalacloud_student」表中的学生信息,讲解拼接字符串的各种应用场景以及对应的变形,你可以打开你的 MySQL 数据库,跟着本教程一起练习.
SELECT CONCAT ( lastname , firstname) AS student_name FROM kalacloud_student;
CONCAT()
拼接基本形式,我们使用 SELECT CONCAT()
对两列字符串进行拼接,并生成一个临时表 student_name
,运行返回值:
扩展阅读:《MySQL 替换指定字段中的部分字符串 - REPLACE() 应用详解》
2.使用空格拼接字符串
使用空格拼接学生的名字和它的学科,老师方便在筛选时查看.
仍然使用 SELECT CONCAT()
命令,空格需要使用' '
两个单引号引起来.
SELECT CONCAT(firstname, ' ', Subject) AS StudentDetail FROM kalacloud_student;
返回值:
扩展阅读:《详解 MySQL / MariaDB 中如何使用单引号、双引号和反引号》
3.使用特殊符号拼接字符串
老师需要将学生名字,学科以及学历汇集到一起,使用分隔符连接.在字符串拼接中,对特殊符号的处理与空格相同,只需要使用'
单引号引起即可.本案例中,使用两个相同的分隔符,这种重复连接的情景可以集合起来写一次,方法详见本文第 6 节
SELECT CONCAT(firstname, '-', subject, '-', qualification) AS Detail FROM kalacloud_student;
返回值:
扩展阅读:《如何在 MySQL 中查找和删除重复记录? - 4 种 MySQL 数据去重法》
4.在筛选查询中进行字符串拼接并显示在表格里
有时,我们需要拼接的返回值放在表格中与其他信息一起显示.
比如招生老师想把候选人的「学历」「姓名」「学科」单独提出来,筛选出研究生学历的候选人,并显示他们的联系方式:
SELECT CONCAT(qualification, ' ', firstname, ' - ', subject) AS 候选人资料, wechat_id, phone FROM kalacloud_student WHERE qualification = 'MPhil';
在使用 CONCAT()
拼接信息的同时,使用 WHERE
筛选出研究生学历(MPhil)的候选人
扩展阅读:《如何在 MySQL 中导出查询结果数据到文件》
5.字符串与中文文本的拼接
我们要把需要拼接的字符串前面加上文字说明,帮助候选人制作一份简单的简历.
在数据库中提取的字符串值,与需要添加的中文说明拼接在一起,并且按照学历从高到低排序:
SELECT CONCAT('候选人:', lastname,firstname, ' 学科:',subject,' 学历:', qualification) AS 简历 FROM kalacloud_student ORDER BY qualification DESC;
返回值:
扩展阅读:《MySQL 重置自增 ID 教程 - 完美保留表数据的终极解决方案》
6.CONCAT_WS()
仅需写一次分隔符即可拼接所有字符串
CONCAT_WS()
是 CONCAT With Separator 的缩写,它是 CONCAT()
的扩展形式.当我们需要拼接的字符串之间的分隔符相同时,可以使用 CONCAT_WS()
,仅需写一次,即可在所有字符串之间使用相同分隔符进行拼接.
SELECT CONCAT_WS(' / ', firstname, phone, subject, qualification) AS Detail FROM kalacloud_student;
返回值:
扩展阅读:《最好用的 10 款 MySQL GUI 管理工具横向测评》
7.总结
CONCAT()
字符串拼接功能在日常工作场景中使用非常频繁,但它的原理很好理解.任何非数据库中的字符串都加上'
单引号引起来即可.
字符串拼接的场景中,有时是用来展示周期性信息,这种重复的使用场景,完全不需要来回贴代码.推荐使用卡拉云.
卡拉云是新一代低代码开发工具,免安装部署,可一键接入包括 MySQL 在内的常见数据库及 RESTful API.可根据自己的工作流,定制开发.无需繁琐的前端开发,只需要简单拖拽,即可快速搭建企业内部工具.数月的开发工作量,使用卡拉云后可缩减至数天,欢迎免费试用卡拉云.
上图为使用卡拉云在 5 分钟内搭建的「用户认证系统」后台,仅需要简单拖拽即可快速生成前端组件,只要会写 SQL,便可搭建一套趁手的数据库工具.
更多数据库相关教程可访问 卡拉云 查看.
扩展阅读:
- MySQL 时间戳用什么类型 - MySQL 时间函数详解
- 最好用的七大顶级 API 接口测试工具
- 最好用的 5 款 React 富文本编辑器
- 如何在 MySQL / MariaDB 中跳过多张表导出或指定多张表导出备份
- 如何将 MySQL / MariaDB 的查询结果保存到文件
- 如何在 MySQL 中导入和导出 CSV / Excel 文件
)
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在.深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小.自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前.因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担.添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
Mysql子查询关键字的使用(exists)
12个MySQL慢查询的原因分析
WiFi、蓝牙、zigbee锁与NB、Cat.1锁的区别
【云原生】DevOps 新纪元 | 史前的惨淡现实
直播 | 7.30 ApacheCon Asia 2022 IOT/IIOT专题,IoTDB PMC 乔嘉林担任出品人
MES系统物料管理的五大功能,建议收藏
MySQL 字符串拼接 - 多种字符串拼接实战案例
What if some fields don't want to be serialized?
从DES走到AES(现代密码的传奇之路)
通关剑指 Offer——剑指 Offer II 008. 和大于等于 target 的最短子数组
随机推荐
使用pycharm debug 深度学习代码
元空间内存溢出
抓住那头牛(DAY 96)
A practice arrangement about map GIS (below) GIS practice of Redis
UE4 创建开始游戏界面UI
Anatomy of Unreal Playback System (Part 1)
The practice of alibaba, data synchronization component canal
力扣练习——44 路径总和 III
如何运用3DGIS技术整合智慧社区综合管理解决方案
物联网通信协议全解析
【无标题】
What if some fields don't want to be serialized?
ffmpeg基本命令
Nuscenes数据集总结(下)
来自雪域高原的馈赠——大凉山高原生态糖心苹果
CubeSat Light-1
CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!)
mysql练习题
ES6——class类实现继承
讯飞AIUI智能机器人5-----让器理解你(语音技术综合应用)