本文首发: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 字符串拼接 - 多种字符串拼接实战案例相关推荐

  1. MySQL时间增加、字符串拼接

    MySQL时间增加.字符串拼接 SELECT DATE_ADD(startTime,  INTERVAL 10 SECOND); CONCAT(string1,string2,-) 转载于:https ...

  2. mysql 将查询所得结果集的某一字段拼接成字符串

    前言 mysql 5.5.40 将查询所得结果集的某一字段拼接成字符串 将菜单树的所有根节点(parent_id=0)的id拼接成字符串. sql 代码: select GROUP_CONCAT(me ...

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

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

  4. MySQL中将查询所得结果集的某一字段拼接成字符串

    group_concat:将查询所得结果集的某一字段拼接成字符串 SELECT GROUP_CONCAT(t.cabinet_no SEPARATOR ';') FROM tb_stockorder ...

  5. Mysql将某一列值统一拼接一个字符串

    描述:将user表中的class字段之前统一拼接"班级-"字符串,sql如下: update user set class=CONCAT('班级-',class); 用到CONCA ...

  6. 让mysql中行的值拼接_在MySQL中行值包含字符串的SELECT?

    要在MySQL中选择包含字符串的行值,请使用以下语法.SELECT *FROM yourTableName where yourColumnName like '%yourPattern%'; 为了理 ...

  7. oracle sql 拼接遇到参数值,sql 将某一列的值拼接成字符串

    ) set @str='' -- 必须先赋值 ))+',' from( select [objid],sfrq from tablename ) tb order by tb.sfrq print @ ...

  8. Excel拼接sql字符串

    以Excel中的列作为值,拼接sql字符串,如下截图案例: 说明: 1.选中D2,然后在Fx中编写字符串拼接函数,字符串之间的链接使用&符号拼接,字符串部分使用双引号引起来. 2.选中D2然后 ...

  9. Python字符串方法:字符串拼接、截取、转数字

    这节课程我们主要讲有关Python字符串的用法,包括字符串的拼接.字符串怎么转数字.字符串的格式化.字符串函数等内容. 1.Python字符串的拼接 拼接方式很简单-我们可以用"+" ...

  10. 《程序员代码面试指南》第五章 字符串问题 拼接所有字符串产生字典顺序最小的大写字符串...

    题目 拼接所有字符串产生字典顺序最小的大写字符串 java代码 努力中.... 转载于:https://www.cnblogs.com/lizhouwei/p/8955158.html

最新文章

  1. BZOJ3509 [CodeChef] COUNTARI 【分块 + fft】
  2. Jmeter教程索引贴
  3. 142. Leetcode 93. 复原 IP 地址 (回溯算法-切割问题)
  4. sublime运行python代码python没显示_解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享...
  5. C++:从C继承的标准库
  6. 长春南关区净月大街附近都有哪些课后班?
  7. java实现复原IP地址,回溯算法:复原IP地址
  8. Kafka-与SpringBoot的集成
  9. php:两个文件夹递归地比较,没有的文件自动复制过去
  10. Mac下mysql登陆问题
  11. shell基础之pxe批量部署
  12. C# 调用office 2007 及 SaveAsPDFandXPS.exe 将Word、Excel、PPT转换为PDF文件
  13. 数据库删除数据的方式
  14. windows 任务栏点击无反应,电脑没有任务栏怎么办
  15. 基于用户喜好以及电影类型的电影推荐算法
  16. html中怎么写小箭头,纯CSS代码实现各种小箭头
  17. itest软件测试工具,itest(爱测试)
  18. 海尔电视 android,海尔电视遥控器
  19. u盘NTFS与FAT32区别
  20. 微信实现扫码支付(native)

热门文章

  1. 如何才能更好发挥WinRunner,实现真正的自动化测试
  2. MPQ Storm库 源代码分析 一个
  3. 百度杀毒软件2013低调发布
  4. SOTA级发丝抠图模型PP-Matting重磅开源,支持多场景精细化分割!
  5. 【阿里技术】2019年开发者必读!20位阿里技术大牛们帮你列了一份经典书单!
  6. Unicode与GBK互转
  7. 元胞自动机简介(美赛复习一)
  8. 一盘商家一盘货,拼多多为什么比手淘便宜?
  9. c语言课本答案解析宋士银,c语言教材
  10. Keras中文文档总结