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

作者:幽幽唉 时间:2024-01-27 21:01:37 

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 |
************ 此处省略一 * 数据 *******

来源:https://blog.csdn.net/qq_43454016/article/details/123255614

标签:Mysql,concat
0
投稿

猜你喜欢

  • Python正则表达式指南 推荐

    2021-10-18 22:04:30
  • 详解Vue2的diff算法

    2024-04-28 09:30:48
  • python实现飞机大战

    2021-03-05 04:19:26
  • Python利用正则表达式从字符串提取数字

    2021-03-22 22:52:39
  • 如何使用MyBatis Plus实现数据库curd操作

    2024-01-21 17:37:13
  • Python 面向对象编程的三大特性之继承

    2021-08-18 18:19:04
  • 浅谈python 类方法/静态方法

    2021-02-23 07:00:54
  • 基于Python正确读取资源文件

    2022-04-10 11:34:18
  • python读取TXT每行,并存到LIST中的方法

    2023-08-09 06:09:20
  • Python中将字典转换为XML以及相关的命名空间解析

    2022-07-22 20:05:03
  • asp程序错误详细说明例表

    2008-04-02 12:13:00
  • python3使用SMTP发送简单文本邮件

    2023-09-28 10:07:24
  • python中的错误如何查看

    2021-05-03 08:31:22
  • 详解Python如何实现尾递归优化

    2023-11-13 04:20:06
  • SQLSERVER 中datetime 和 smalldatetime类型分析说明

    2024-01-23 23:36:13
  • 设置python3为默认python的方法

    2023-07-11 19:24:49
  • 浅析Go语言中闭包的使用

    2024-02-16 12:35:18
  • php导出excel格式数据问题

    2023-07-13 22:46:06
  • 8种MySQL分页方法总结

    2024-01-24 00:05:54
  • 浅谈JS中var,let和const的区别

    2024-05-09 15:07:16
  • asp之家 网络编程 m.aspxhome.com