MySQL中函數(shù)CONCAT 、CONCAT_WS、GROUP_CONCAT

CONCAT_WS

使用函數(shù)CONCAT_WS()。

使用語法為:

CONCAT_WS(separator,str1,str2,…)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。

第一個參數(shù)是其它參數(shù)的分隔符。分隔符的位置放在要連接的兩個字符串之間。
分隔符可以是一個字符串,也可以是其它參數(shù)。
如果分隔符為 NULL,則結(jié)果為 NULL。函數(shù)會忽略任何分隔符參數(shù)后的 NULL 值。但是CONCAT_WS()不會忽略任何空字符串。 (然而會忽略所有的 NULL)。

mysql> select concat_ws(',','x','y','z');
+----------------------------+
| concat_ws(',','x','y','z') |
+----------------------------+
| x,y,z                      |
+----------------------------+
1 row in set (0.00 sec)

CONCAT

CONCAT()函數(shù)用于將多個字符串連接成一個字符串。

mysql> select concat(',','x','y','z');
+-------------------------+
| concat(',','x','y','z') |
+-------------------------+
| ,xyz                    |
+-------------------------+
1 row in set (0.00 sec)

GROUP_CONCAT

如果我們想把下面的查詢列表拼接成逗號(,) 分隔的字符串,怎么搞呢?

mysql> select a.id from article a limit 10;
+----+
| id |
+----+
|  1 |
|  2 |
|  3 |
|  4 |
|  5 |
|  6 |
|  7 |
|  8 |
|  9 |
| 10 |
+----+
10 rows in set (0.00 sec)

答案:使用GROUP_CONCAT


mysql> select group_concat(a.id) from article a where a.id in
 (select t.id from (select id from article limit 10) t  );
+----------------------+
| group_concat(a.id)   |
+----------------------+
| 1,2,3,4,5,6,7,8,9,10 |
+----------------------+
1 row in set (0.00 sec)

特別指出的是這里in后面的select子句的寫法:

 (select t.id from (select id from article limit 10) t  )

這里要注意的是,我們不能直接這么寫

mysql> select group_concat(a.id) from article a where a.id in (select a.id from article a limit 10);
ERROR 1235 (42000): This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

這也是mysql的子查詢語法用起來不是那么“理所當(dāng)然”的地方。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,540評論 0 13
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,674評論 0 4
  • ??引用類型的值(對象)是引用類型的一個實(shí)例。 ??在 ECMAscript 中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)...
    霜天曉閱讀 1,218評論 0 1
  • 函數(shù)和對象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對于任何一門語言來說都是核心的概念。通過函數(shù)可以封裝任意多條語句,而且...
    道無虛閱讀 4,943評論 0 5
  • 美國公告牌2017音樂獎(Billboard Music Award)剛剛在拉斯維加斯落幕,Drake成為本屆大獎...
    米婭C閱讀 249評論 0 0

友情鏈接更多精彩內(nèi)容