Mysql中的concat函数(拼接函数)详解
作者:幽幽唉
Mysql中的concat函数(拼接函数)
概述
很多时候,我们需要将不同地方获得的字符串拼接在一起,此时就需要使用CONCAT和CONCAT_WS函数
要连接两个或多个引用的字符串值,请将字符串放在一起,如下所示:
mysql> SELECT 'MySQL ' 'String ' 'Concatenation'; +----------------------------+ | MySQL | +----------------------------+ | MySQL String Concatenation | +----------------------------+ 1 row in set
除了使用空格进行字符串连接之外,mysql还提供了两个连接字符串值的函数CONCAT和CONCAT_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 setMysql Concat_Ws函数
MySQL提供了一种特殊形式的CONCAT()函数:CONCAT_WS()函数。CONCAT_WS()函数将两个或多个字符串值与预定义的分隔符相连接。
下面说明了CONCAT_WS()函数的语法:
CONCAT_WS(seperator,string1,string2, ... );
第一个参数是其他参数:string1,string2,...的分隔符。
CONCAT_WS函数在字符串参数之间添加分隔符,并返回单个字符串,并在字符串参数之间插入分隔符。
以下语句连接两个字符串值:Max和Su,并用逗号分隔这两个字符串:
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基于group_concat()函数合并多行数据
- MySQL中组合字段之concat()
- Mybatis mysql模糊查询方式(CONCAT多个字段)及bug
- MySQL中CONCAT和GROUP_CONCAT方法的区别详解
- mysql 模糊查询 concat()的用法详解
- MySQL group_concat函数使用方法详解
- mysql中的concat()函数模糊查询代替${}问题
- mysql中GROUP_CONCAT函数使用及遇到问题详解
- mysql中GROUP_CONCAT函数使用技巧及问题详解
- MySQL中的CONCAT()函数:轻松拼接字符串的利器
- MySQL中CONCAT()函数出现值为空的问题及解决办法
