海南教育学会网站建设,珠江网站建设,产品型网站,外包公司是做什么的转载自 MySQL concat()函数
在本教程中#xff0c;您将学习使用MySQL CONCAT和CONCAT_WS函数将两个或多个字符串连接在一起的各种方法。
要连接两个或多个引用的字符串值#xff0c;请将字符串放在一起#xff0c;如下所示#xff1a;
SELECT MySQL String Concaten…转载自 MySQL concat()函数
在本教程中您将学习使用MySQL CONCAT和CONCAT_WS函数将两个或多个字符串连接在一起的各种方法。
要连接两个或多个引用的字符串值请将字符串放在一起如下所示
SELECT MySQL String Concatenation;执行上面查询语句得到以下结果 -
mysql SELECT MySQL String Concatenation;
----------------------------
| MySQL |
----------------------------
| MySQL String Concatenation |
----------------------------
1 row in set与其他数据库管理系统相比MySQL字符串连接更为清晰。 例如如果您使用PostgreSQL或Oracle则必须使用字符串连接运算符||。 在Microsoft SQL Server中您可以使用加法算术运算符()连接字符串值。
除了使用空格进行字符串连接之外MySQL还提供了两个连接字符串值的函数CONCAT和CONCAT_WS。
MySQL CONCAT函数
MySQL CONCAT()函数需要一个或多个字符串参数并将它们连接成一个字符串。CONCAT()函数需要至少一个参数否则会引起错误。
下面说明了CONCAT()函数的语法。
CONCAT(string1,string2, ... );CONCAT()函数在连接之前将所有参数转换为字符串类型。如果任何参数为NULL则CONCAT()函数返回NULL值。
以下语句连接两个引用的字符串MySQL和CONCAT。
SELECT CONCAT(MySQL,CONCAT);执行上面查询语句得到以下结果 -
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请参见示例数据库(yiibaidb)中的customers表其结构如下所示 -
mysql desc customers;
------------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------------------------
| customerNumber | int(11) | NO | PRI | NULL | |
| customerName | varchar(50) | NO | | NULL | |
| contactLastName | varchar(50) | NO | | NULL | |
| contactFirstName | varchar(50) | NO | | NULL | |
| phone | varchar(50) | NO | | NULL | |
| addressLine1 | varchar(50) | NO | | NULL | |
| addressLine2 | varchar(50) | YES | | NULL | |
| city | varchar(50) | NO | | NULL | |
| state | varchar(50) | YES | | NULL | |
| postalCode | varchar(15) | YES | | NULL | |
| country | varchar(50) | NO | | NULL | |
| salesRepEmployeeNumber | int(11) | YES | MUL | NULL | |
| creditLimit | decimal(10,2) | YES | | NULL | |
------------------------------------------------------------------
13 rows in set要获取联系人的全名您可以使用CONCAT函数将名字空格姓氏连接如下查询语句
SELECT concat(contactFirstName, ,contactLastName) Fullname
FROMcustomers;执行上面查询语句得到以下结果 -
mysql SELECT concat(contactFirstName, ,contactLastName) Fullname
FROMcustomers;
--------------------------
| Fullname |
--------------------------
| Carine Schmitt |
| Jean King |
| Peter Ferguson |
| Janine Labrune |
| Jonas Bergulfsen |
***** 此处省略了一大波数据 ****
| Sue Taylor |
| Thomas Minsu |
| Valarie Franco |
| Tony Snowden |
--------------------------
122 rows in setMySQL CONCAT_WS函数使用分隔符连接字符串
MySQL提供了一种特殊形式的CONCAT()函数CONCAT_WS()函数。CONCAT_WS()函数将两个或多个字符串值与预定义的分隔符相连接。
下面说明了CONCAT_WS()函数的语法
CONCAT_WS(seperator,string1,string2, ... );第一个参数是其他参数string1string2...的分隔符。
CONCAT_WS函数在字符串参数之间添加分隔符并返回单个字符串并在字符串参数之间插入分隔符。
以下语句连接两个字符串值Max和Su并用逗号分隔这两个字符串
SELECT CONCAT_WS(,,Max,Su);执行上面查询语句得到以下结果 -
mysql SELECT CONCAT_WS(,,Max,Su);
---------------------------
| CONCAT_WS(,,Max,Su) |
---------------------------
| Max,Su |
---------------------------
1 row in set当且仅当作为分隔符的第一个参数为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;执行上面查询语句得到以下结果 -
----------------------------------------------------------------------------------
| Customer_Address |
----------------------------------------------------------------------------------
| Schmitt Carine
54, rue Royale
44000 Nantes
France |
************ 此处省略一大波数据 *******在本教程中您已经学习了如何使用MySQL CONCAT和CONCAT_WS函数将一个或多个字符串值连接到成单个字符串。