Mysql中的concat函数(拼接函数)详解

 更新时间:2023年02月14日 10:09:19   作者:幽幽唉  
很多时候,我们需要将不同地方获得的字符串拼接在一起,此时就需要使用CONCAT和CONCAT_WS函数,这篇文章主要介绍了Mysql中的concat函数(拼接函数),需要的朋友可以参考下

Mysql中的concat函数(拼接函数)

概述

很多时候,我们需要将不同地方获得的字符串拼接在一起,此时就需要使用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
FROM
    customers;
SQL

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

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

到此这篇关于Mysql中的concat函数(拼接函数)的文章就介绍到这了,更多相关Mysql concat函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql 数据库死锁原因及解决办法

    mysql 数据库死锁原因及解决办法

    这篇文章主要介绍了mysql 数据库死锁原因及解决办法,需要的朋友可以参考下
    2016-01-01
  • 详解grep获取MySQL错误日志信息的方法

    详解grep获取MySQL错误日志信息的方法

    在本篇文章中小编给大家整理了关于通过grep 获取MySQL错误日志信息的方法的相关知识点内容,有需要的朋友们跟着学习下。
    2018-09-09
  • Mysql实现企业级日志管理、备份与恢复的实战教程

    Mysql实现企业级日志管理、备份与恢复的实战教程

    下面小编就为大家分享一篇Mysql实现企业级日志管理、备份与恢复的实战教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • mysql8.0.19基础数据类型详解

    mysql8.0.19基础数据类型详解

    这篇文章主要介绍了mysql8.0.19基础数据类型的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2020-03-03
  • MySQL连接查询你真的学会了吗?

    MySQL连接查询你真的学会了吗?

    日常使用数据库查询语句时,单表查询尝尝不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,这篇文章主要给大家介绍了关于MySQL连接查询的相关资料,需要的朋友可以参考下
    2021-06-06
  • Mysql迁移到TiDB双写数据库兜底方案详解

    Mysql迁移到TiDB双写数据库兜底方案详解

    这篇文章主要为大家介绍了Mysql迁移到TiDB双写数据库兜底方案详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • MYSQL设置字段自动获取当前时间的sql语句

    MYSQL设置字段自动获取当前时间的sql语句

    整理数据库数据,看到好多表都有加create_time和 update_time字段,来记录数据插入的时间和更新时间,但是时间插入是通过代码来维护的,这篇文章主要介绍了MYSQL设置字段自动获取当前时间,需要的朋友可以参考下
    2023-07-07
  • 详解MySQL 8.0.18命令

    详解MySQL 8.0.18命令

    这篇文章主要介绍了MySQL 8.0.18命令,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 详解MySQL单实例和多实例启动脚本

    详解MySQL单实例和多实例启动脚本

    这篇文章主要介绍了MySQL单实例和多实例启动脚本,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • mysql创建时间字段添加默认值方式

    mysql创建时间字段添加默认值方式

    这篇文章主要介绍了mysql创建时间字段添加默认值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论