您的位置:首頁技術文章
文章詳情頁

Mysql中的concat函數(拼接函數)詳解

瀏覽:39日期:2023-02-18 16:43:34
目錄
  • Mysql中的concat函數(拼接函數)
    • 概述
    • Mysql Concat函數
    • Mysql Concat_Ws函數

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 |
************ 此處省略一大波數據 *******

到此這篇關于Mysql中的concat函數(拼接函數)的文章就介紹到這了,更多相關Mysql concat函數內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MySQL
国产综合久久一区二区三区