MySQL 字符串拼接 - 多种字符串拼接实战案例
本文首发:MySQL 字符串拼接 - 多种字符串拼接实战案例 - 卡拉云
MySQL 字符串拼接可以使多个字段的值组成一个集合,不仅可以拼接字符串与字符串、空格、特殊符号甚至可以拼接中文文本,方便我们在不同场景下应用。
本教详细讲解 CONCAT()
和它的扩展形式 CONCAT_WS()
在字符串拼接的实战场景中的应用。如果你的应用场景需要周期性重复展示,推荐使用卡拉云将你的代码工具化,详情见本文文末。
MySQL 字符串拼接目录
- 1.`CONCAT()` 拼接字符串基本型
- 2.使用空格拼接字符串
- 3.使用特殊符号拼接字符串
- 4.在筛选查询中进行字符串拼接并显示在表格里
- 5.字符串与中文文本的拼接
- 6.`CONCAT_WS()` 仅需写一次分隔符即可拼接所有字符串
- 7.总结
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 文件
MySQL 字符串拼接 - 多种字符串拼接实战案例相关推荐
- MySQL时间增加、字符串拼接
MySQL时间增加.字符串拼接 SELECT DATE_ADD(startTime, INTERVAL 10 SECOND); CONCAT(string1,string2,-) 转载于:https ...
- mysql 将查询所得结果集的某一字段拼接成字符串
前言 mysql 5.5.40 将查询所得结果集的某一字段拼接成字符串 将菜单树的所有根节点(parent_id=0)的id拼接成字符串. sql 代码: select GROUP_CONCAT(me ...
- JAVA的MySQL字符串拼接_字符串的拼接-MYSQL
SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符串类型的字段拼接计算: ...
- MySQL中将查询所得结果集的某一字段拼接成字符串
group_concat:将查询所得结果集的某一字段拼接成字符串 SELECT GROUP_CONCAT(t.cabinet_no SEPARATOR ';') FROM tb_stockorder ...
- Mysql将某一列值统一拼接一个字符串
描述:将user表中的class字段之前统一拼接"班级-"字符串,sql如下: update user set class=CONCAT('班级-',class); 用到CONCA ...
- 让mysql中行的值拼接_在MySQL中行值包含字符串的SELECT?
要在MySQL中选择包含字符串的行值,请使用以下语法.SELECT *FROM yourTableName where yourColumnName like '%yourPattern%'; 为了理 ...
- oracle sql 拼接遇到参数值,sql 将某一列的值拼接成字符串
) set @str='' -- 必须先赋值 ))+',' from( select [objid],sfrq from tablename ) tb order by tb.sfrq print @ ...
- Excel拼接sql字符串
以Excel中的列作为值,拼接sql字符串,如下截图案例: 说明: 1.选中D2,然后在Fx中编写字符串拼接函数,字符串之间的链接使用&符号拼接,字符串部分使用双引号引起来. 2.选中D2然后 ...
- Python字符串方法:字符串拼接、截取、转数字
这节课程我们主要讲有关Python字符串的用法,包括字符串的拼接.字符串怎么转数字.字符串的格式化.字符串函数等内容. 1.Python字符串的拼接 拼接方式很简单-我们可以用"+" ...
- 《程序员代码面试指南》第五章 字符串问题 拼接所有字符串产生字典顺序最小的大写字符串...
题目 拼接所有字符串产生字典顺序最小的大写字符串 java代码 努力中.... 转载于:https://www.cnblogs.com/lizhouwei/p/8955158.html
最新文章
- 运维企业专题(7)LVS高可用与负载均衡中篇——VS/NAT模式配置详解
- 修改ubuntu的终端提示符
- codeforces1453 E. Dog Snacks
- 工程院院士李国杰科学网发文称国内 AI 研究「顶不了天,落不了地」
- 力算未来丨一张图看懂华为“鲲鹏+昇腾”双引擎
- spring 依赖注入_Spring从入门到入土——依赖注入(DI)
- jQuery 选择器、DOM操作、事件、动画
- 【日常】《中国统计年鉴》与《中国金融年鉴》数据表爬虫(附1985-2020所有Excel资源)
- 奇东锐腾服务器无法显示,奇东锐腾pxe全自动网刻工具
- Building a Hypermedia-Driven RESTful Web Service
- matlab求解f非线性微分方程数值解,非线性﹑微分方程数值求解.PPT
- excel绘制回归直线
- 音频知识点(5)- VAD/CNG/DTX
- Ubuntu 16.04安装Synaptic Package Manager图形化APT管理工具
- 你好,offer(最终版)
- Windows快捷键 - 最大化 最小化 还原
- 最新手写图片爬虫(针对千库网和一个福利网站)
- 将JPG,PNG图像转为ktx2
- 实现商品秒杀成功后【前端实时更新待支付倒计时结束时间】
- 【YOLOv7】Python基于YOLOv7的人员跌倒检测系统(源码&部署教程&数据集)
热门文章
- 互联网专用计算机屏保,18个Windows 98屏保,简直怀念!
- 2022年上半年系统分析师上午真题及答案解析
- 【游戏开发实战】下载原神模型,PMX转FBX,导入到Unity中,卡通渲染,绑定人形动画(附Demo工程)
- 常见积分求导公式表--便于记忆
- 中国燕麦片市场销售现状与十四五发展趋势分析报告2022年版
- 计算机开机显示屏幕优化中,联想电脑一开机就出现图像设定屏幕优化中怎样才能取消...
- 计算机准考证要打印多大的纸,2020税务师准考证打印要求 应该用多大的纸打印?...
- 怎么修改图片大小尺寸?
- translator什么意思中文_translator是什么意思|translator的音标|translator的用法 - 英语词典...
- Xshell官网下载地址