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

吾爱主题 阅读:134 2023-04-07 17:26:00 评论:0

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

概述

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

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

?
1 2 3 4 5 6 7 mysql> SELECT 'MySQL ' 'String ' 'Concatenation' ; + ----------------------------+ | MySQL                      | + ----------------------------+ | MySQL String Concatenation | + ----------------------------+ 1 row in set

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

Mysql Concat函数

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

?
1 CONCAT(string1,string2, ... );

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

?
1 2 3 4 5 6 7 mysql> SELECT CONCAT( 'MySQL' , 'CONCAT' ); + --------------------------+ | CONCAT( 'MySQL' , 'CONCAT' ) | + --------------------------+ | MySQLCONCAT              | + --------------------------+ 1 row in set

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

?
1 2 3 4 5 6 7 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()函数的语法:

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

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

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

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

?
1 2 SELECT CONCAT_WS( ',' , 'Max' , 'Su' ); SQL

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

?
1 2 3 4 5 6 7 8 mysql> SELECT CONCAT_WS( ',' , 'Max' , 'Su' ); + ---------------------------+ | CONCAT_WS( ',' , 'Max' , 'Su' ) | + ---------------------------+ | Max ,Su                    | + ---------------------------+ 1 row in set Shell

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

?
1 2 3 4 5 6 7 mysql> SELECT CONCAT_WS( NULL , 'Jonathan' , 'Minsu' ); + --------------------------------------+ | CONCAT_WS( NULL , 'Jonathan' , 'Minsu' ) | + --------------------------------------+ | NULL                                 | + --------------------------------------+ 1 row in set

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

?
1 2 3 4 5 6 7 mysql> SELECT CONCAT_WS( ',' , 'Jonathan' , 'Minsu' , NULL ); + -----------------------------------------+ | CONCAT_WS( ',' , 'Jonathan' , 'Minsu' , NULL ) | + -----------------------------------------+ | Jonathan,Minsu                          | + -----------------------------------------+ 1 row in set

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

?
1 2 3 4 5 6 7 8 9 10 11 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函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_43454016/article/details/123255614

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容