Mysql中的concat函數(shù)(拼接函數(shù))詳解
目錄
- Mysql中的concat函數(shù)(拼接函數(shù))
- 概述
- Mysql Concat函數(shù)
- Mysql Concat_Ws函數(shù)
Mysql中的concat函數(shù)(拼接函數(shù))
概述
很多時候,我們需要將不同地方獲得的字符串拼接在一起,此時就需要使用CONCAT
和CONCAT_WS
函數(shù)
要連接兩個或多個引用的字符串值,請將字符串放在一起,如下所示:
mysql> SELECT "MySQL " "String " "Concatenation"; +----------------------------+ | MySQL | +----------------------------+ | MySQL String Concatenation | +----------------------------+ 1 row in set
除了使用空格進(jìn)行字符串連接之外,mysql還提供了兩個連接字符串值的函數(shù)CONCAT
和CONCAT_WS
Mysql Concat函數(shù)
Mysql Concat
函數(shù)需要一個或多個字符串參數(shù),并將他們連接成一個字符串。CONCAT()
函數(shù)需要至少一個參數(shù),否則會引起報錯。
CONCAT(string1,string2, ... );
CONCAT()函數(shù)在連接之前將所有參數(shù)轉(zhuǎn)換為字符串類型。如果任何參數(shù)為NULL
,則CONCAT()
函數(shù)返回NULL
值。
mysql> SELECT CONCAT("MySQL","CONCAT"); +--------------------------+ | CONCAT("MySQL","CONCAT") | +--------------------------+ | MySQLCONCAT | +--------------------------+ 1 row in set
如果是添加NULL
值,則CONCAT
函數(shù)將會返回一個NULL
值;
mysql> SELECT CONCAT("MySQL",NULL,"CONCAT"); +-------------------------------+ | CONCAT("MySQL",NULL,"CONCAT") | +-------------------------------+ | NULL | +-------------------------------+ 1 row in set
Mysql Concat_Ws函數(shù)
MySQL提供了一種特殊形式的CONCAT()
函數(shù):CONCAT_WS()
函數(shù)。CONCAT_WS()
函數(shù)將兩個或多個字符串值與預(yù)定義的分隔符相連接。
下面說明了CONCAT_WS()
函數(shù)的語法:
CONCAT_WS(seperator,string1,string2, ... );
第一個參數(shù)是其他參數(shù):string1
,string2
,...
的分隔符。
CONCAT_WS
函數(shù)在字符串參數(shù)之間添加分隔符,并返回單個字符串,并在字符串參數(shù)之間插入分隔符。
以下語句連接兩個字符串值:Max
和Su
,并用逗號分隔這兩個字符串:
SELECT CONCAT_WS(",","Max","Su"); SQL
執(zhí)行上面查詢語句,得到以下結(jié)果 -
mysql> SELECT CONCAT_WS(",","Max","Su"); +---------------------------+ | CONCAT_WS(",","Max","Su") | +---------------------------+ | Max,Su | +---------------------------+ 1 row in set Shell
當(dāng)且僅當(dāng)作為分隔符的第一個參數(shù)為NULL
時,CONCAT_WS
函數(shù)才返回NULL
。
mysql> SELECT CONCAT_WS(NULL ,"Jonathan", "Minsu"); +--------------------------------------+ | CONCAT_WS(NULL ,"Jonathan", "Minsu") | +--------------------------------------+ | NULL | +--------------------------------------+ 1 row in set
與CONCAT
函數(shù)不同,CONCAT_WS
函數(shù)在分隔符參數(shù)之后跳過NULL
值。 換句話說,它忽略NULL
值
mysql> SELECT CONCAT_WS(",","Jonathan", "Minsu",NULL); +-----------------------------------------+ | CONCAT_WS(",","Jonathan", "Minsu",NULL) | +-----------------------------------------+ | Jonathan,Minsu | +-----------------------------------------+ 1 row in set
以下語句使用CONCAT_WS
函數(shù)構(gòu)造完整的地址:
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
執(zhí)行上面查詢語句,得到以下結(jié)果 -
+----------------------------------------------------------------------------------+
| Customer_Address |
+----------------------------------------------------------------------------------+
| Schmitt Carine
54, rue Royale
44000 Nantes
France |
************ 此處省略一大波數(shù)據(jù) *******
到此這篇關(guān)于Mysql中的concat函數(shù)(拼接函數(shù))的文章就介紹到這了,更多相關(guān)Mysql concat函數(shù)內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
