Mysql中的concat函數(shù)(拼接函數(shù))詳解
Mysql中的concat函數(shù)(拼接函數(shù))
概述
很多時(shí)候,我們需要將不同地方獲得的字符串拼接在一起,此時(shí)就需要使用CONCAT
和CONCAT_WS
函數(shù)
要連接兩個(gè)或多個(gè)引用的字符串值,請(qǐng)將字符串放在一起,如下所示:
mysql> SELECT 'MySQL ' 'String ' 'Concatenation'; +----------------------------+ | MySQL | +----------------------------+ | MySQL String Concatenation | +----------------------------+ 1 row in set
除了使用空格進(jìn)行字符串連接之外,mysql還提供了兩個(gè)連接字符串值的函數(shù)CONCAT
和CONCAT_WS
Mysql Concat函數(shù)
Mysql Concat
函數(shù)需要一個(gè)或多個(gè)字符串參數(shù),并將他們連接成一個(gè)字符串。CONCAT()
函數(shù)需要至少一個(gè)參數(shù),否則會(huì)引起報(bào)錯(cuò)。
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ù)將會(huì)返回一個(gè)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ù)將兩個(gè)或多個(gè)字符串值與預(yù)定義的分隔符相連接。
下面說(shuō)明了CONCAT_WS()
函數(shù)的語(yǔ)法:
CONCAT_WS(seperator,string1,string2, ... );
第一個(gè)參數(shù)是其他參數(shù):string1
,string2
,...
的分隔符。
CONCAT_WS
函數(shù)在字符串參數(shù)之間添加分隔符,并返回單個(gè)字符串,并在字符串參數(shù)之間插入分隔符。
以下語(yǔ)句連接兩個(gè)字符串值:Max
和Su
,并用逗號(hào)分隔這兩個(gè)字符串:
SELECT CONCAT_WS(',','Max','Su'); SQL
執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果 -
mysql> SELECT CONCAT_WS(',','Max','Su'); +---------------------------+ | CONCAT_WS(',','Max','Su') | +---------------------------+ | Max,Su | +---------------------------+ 1 row in set Shell
當(dāng)且僅當(dāng)作為分隔符的第一個(gè)參數(shù)為NULL
時(shí),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ù)之后跳過(guò)NULL
值。 換句話說(shuō),它忽略NULL
值
mysql> SELECT CONCAT_WS(',','Jonathan', 'Minsu',NULL); +-----------------------------------------+ | CONCAT_WS(',','Jonathan', 'Minsu',NULL) | +-----------------------------------------+ | Jonathan,Minsu | +-----------------------------------------+ 1 row in set
以下語(yǔ)句使用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í)行上面查詢語(yǔ)句,得到以下結(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL基于group_concat()函數(shù)合并多行數(shù)據(jù)
- MySQL中組合字段之concat()
- Mybatis?mysql模糊查詢方式(CONCAT多個(gè)字段)及bug
- MySQL中CONCAT和GROUP_CONCAT方法的區(qū)別詳解
- mysql 模糊查詢 concat()的用法詳解
- MySQL group_concat函數(shù)使用方法詳解
- mysql中的concat()函數(shù)模糊查詢代替${}問(wèn)題
- mysql中GROUP_CONCAT函數(shù)使用及遇到問(wèn)題詳解
- mysql中GROUP_CONCAT函數(shù)使用技巧及問(wèn)題詳解
- MySQL中的CONCAT()函數(shù):輕松拼接字符串的利器
- MySQL中CONCAT()函數(shù)出現(xiàn)值為空的問(wèn)題及解決辦法
相關(guān)文章
基于mysql時(shí)間處理函數(shù)的應(yīng)用詳解
本篇文章是對(duì)mysql時(shí)間處理函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06mysql5.7.17 zip 解壓安裝詳細(xì)過(guò)程
這篇文章主要為大家詳細(xì)介紹了mysql5.7.17 zip 解壓安裝詳細(xì)過(guò)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02MySQL中row_number的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了MySQL中row_number的實(shí)現(xiàn)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10iOS開發(fā)runloop運(yùn)行循環(huán)機(jī)制學(xué)習(xí)
這篇文章主要為大家介紹了iOS開發(fā)runloop運(yùn)行循環(huán)的機(jī)制學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07用MySQL創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)表代碼
了解了一些最基本的操作命令后,我們?cè)賮?lái)學(xué)習(xí)如何創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)表。2008-10-10MySQL中字符串比較大小詳解(日期字符串比較問(wèn)題)
varchar類型的數(shù)據(jù)是不能直接比較大小的,下面這篇文章主要給大家介紹了關(guān)于MySQL中字符串比較大小的相關(guān)資料,詳細(xì)介紹了日期字符串比較問(wèn)題,需要的朋友可以參考下2022-08-08IntelliJ?IDEA?2024與MySQL?8連接以及driver問(wèn)題解決辦法
在IDE開發(fā)工具中也是可以使用mysql的,下面這篇文章主要給大家介紹了關(guān)于IntelliJ?IDEA?2024與MySQL?8連接以及driver問(wèn)題解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09