概述

很多时候,我们需要将不同地方获得的字符串拼接在一起,此时就需要使用CONCATCONCAT_WS函数

要连接两个或多个引用的字符串值,请将字符串放在一起,如下所示:

mysql> SELECT 'MySQL ' 'String ' 'Concatenation';
+----------------------------+
| MySQL                      |
+----------------------------+
| MySQL String Concatenation |
+----------------------------+
1 row in set

除了使用空格进行字符串连接之外,mysql还提供了两个连接字符串值的函数CONCATCONCAT_WS

Mysql Concat函数

Mysql Concat函数需要一个或多个字符串参数,并将他们连接成一个字符串。CONCAT() 函数需要至少一个参数,否则会引起报错。

CONCAT(string1,string2, ... );

CONCAT()函数在连接之前将所有参数转换为字符串类型。如果任何参数为NULL,则CONCAT()函数返回NULL值。

mysql> SELECT CONCAT('MySQL','CONCAT');
+--------------------------+
| CONCAT('MySQL','CONCAT') |
+--------------------------+
| MySQLCONCAT              |
+--------------------------+
1 row in set

如果是添加NULL值,则CONCAT函数将会返回一个NULL值;

mysql> SELECT CONCAT('MySQL',NULL,'CONCAT');
+-------------------------------+
| CONCAT('MySQL',NULL,'CONCAT') |
+-------------------------------+
| NULL                          |
+-------------------------------+
1 row in set

Mysql Concat_Ws函数

MySQL提供了一种特殊形式的CONCAT()函数:CONCAT_WS()函数。CONCAT_WS()函数将两个或多个字符串值与预定义的分隔符相连接。

下面说明了CONCAT_WS()函数的语法:

CONCAT_WS(seperator,string1,string2, ... );

第一个参数是其他参数:string1string2...的分隔符。

CONCAT_WS函数在字符串参数之间添加分隔符,并返回单个字符串,并在字符串参数之间插入分隔符。

以下语句连接两个字符串值:MaxSu,并用逗号分隔这两个字符串:

SELECT CONCAT_WS(',','Max','Su');
SQL

执行上面查询语句,得到以下结果 -

mysql> SELECT CONCAT_WS(',','Max','Su');
+---------------------------+
| CONCAT_WS(',','Max','Su') |
+---------------------------+
| Max,Su                    |
+---------------------------+
1 row in set
Shell

当且仅当作为分隔符的第一个参数为NULL时,CONCAT_WS函数才返回NULL

mysql> SELECT CONCAT_WS(NULL ,'Jonathan', 'Minsu');
+--------------------------------------+
| CONCAT_WS(NULL ,'Jonathan', 'Minsu') |
+--------------------------------------+
| NULL                                 |
+--------------------------------------+
1 row in set

CONCAT函数不同,CONCAT_WS函数在分隔符参数之后跳过NULL值。 换句话说,它忽略NULL

mysql> SELECT CONCAT_WS(',','Jonathan', 'Minsu',NULL);
+-----------------------------------------+
| CONCAT_WS(',','Jonathan', 'Minsu',NULL) |
+-----------------------------------------+
| Jonathan,Minsu                          |
+-----------------------------------------+
1 row in set

以下语句使用CONCAT_WS函数构造完整的地址:

 SELECT CONCAT_WS(CHAR(13),CONCAT_WS(' ', contactLastname, contactFirstname),addressLine1,addressLine2,CONCAT_WS(' ', postalCode, city),country,CONCAT_WS(CHAR(13), '')) AS Customer_Address
FROMcustomers;
SQL

执行上面查询语句,得到以下结果 -

+----------------------------------------------------------------------------------+
| Customer_Address                                                                 |
+----------------------------------------------------------------------------------+
| Schmitt Carine
54, rue Royale
44000 Nantes
France |
************ 此处省略一大波数据 *******

Mysql中的concat函数(拼接函数)相关推荐

  1. mysql中使用CONCAT 实现拼接

  2. mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法 | 很文博客

    不常用:MySQL中的LOCATE和POSITION函数 LOCATE(substr,str) POSITION(substr IN str) 返回子串 substr 在字符串 str 中第一次出现的 ...

  3. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  4. mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  5. mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法

    不常用:MySQL中的LOCATE和POSITION函数 LOCATE(substr,str) POSITION(substr IN str) 返回子串 substr 在字符串 str 中第一次出现的 ...

  6. Mysql中当前日期(时间)函数总结

    Mysql中当前日期(时间)函数总结 select now():获取当前日期(包含时分秒) 2.Select date_formate(now(),"格式化") select da ...

  7. mysql rank_在MySQL中实现Rank高级排名函数

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  8. 在MySQL中实现Rank高级排名函数

    在MySQL中实现Rank高级排名函数 前言 用例表 1.在MySQL中实现普通排名 2.在MySQL中实现并列连续序号排名 3.在MySQL中实现并列非连续序号排名 4.随机获得一条数据 5.判断数 ...

  9. rank()函数 mysql_在MySQL中实现Rank高级排名函数

    在MySQL中实现Rank高级排名函数 MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可 ...

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

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

最新文章

  1. linux vim 基本操作
  2. 汇总|实时性语义分割算法
  3. 基于区块链交易技术开发的证券
  4. Windows保护模式学习笔记(十二)—— 控制寄存器
  5. 单例模式的几种实现方式
  6. word2vec相似度计算_文档相似度助力搜索引擎
  7. python嵌套列表字典_python中嵌套列表转为字典
  8. java将字符串转换成可执行代码
  9. db2存储过程 可以使用游标循环嵌套吗_DB2存储过程使用动态游标的例子
  10. [LeetCode]235.Lowest Common Ancestor of a Binary Search Tree
  11. 携程:2021国庆高星酒店均价945元 环比节前一周提升超80%
  12. python多因子量化选股模型_量化新兵第十步:多因子选股模型
  13. 沙市一中2021年高考成绩查询时间,2021年荆州高考状元是谁分数多少分,历年荆州高考状元名单...
  14. Centos安装Clion
  15. queryrunner对于数据库的快速操作
  16. 网页特效php代码大全,网页特效代码
  17. 安装Office InfoPath 2007
  18. Itext与pdfBox坐标定位问题
  19. 【先进事迹】11111HTML
  20. MyBatis-Plus的条件查询(只举例部分方便使用)

热门文章

  1. Android7.0以上版本更新升级兼容代码
  2. 火山引擎 DataLeap:揭秘字节跳动业务背后的分布式数据治理思路
  3. 半入耳蓝牙耳机哪款好?半入耳耳机南卡和JBL对比评测
  4. 《木子办公助手 v1.3.2》
  5. 华为参战!国产之光盘古大模型推:盘古Chat
  6. 对于win10无法运行红警2问题 必有效
  7. 各类特殊开关电源问题解决方案
  8. 毕业论文关键字HTML5,毕业论文中要怎么选取关键词呢?
  9. Raspberry pi,一个好玩的派:第四季 NOOBS
  10. 32.如何把一个公共的类给抽离出来?让所有的项目都可以用?嘻哈的简写笔记——SpringBoot