詳解mysql中的concat相關(guān)函數(shù)
一、concat()函數(shù)
功能:將多個字符串連接成一個字符串
語法:concat(str1,str2,…) 其中的字符串既可以是數(shù)據(jù)表字段,也可以是指定的字符串
返回結(jié)果為連接參數(shù)產(chǎn)生的字符串,如果有任何一個參數(shù)為null,則該條記錄的返回值為null
二、concat_ws()函數(shù)
功能:和concat()一樣,將多個字符串連接成一個字符串,但是可以一次性指定分隔符(concat_ws就是concat with separator)
語法:concat_ws(separator,str1,str2,…)
說明:第一個參數(shù)指定分隔符,需要注意的是分隔符不能為null,如果為null,則所有返回結(jié)果均為null
三、group_concat()函數(shù)
先來看這么個需求:

其中user_id是用戶id,fee是消費(fèi)金額,time是消費(fèi)時間戳。
在consumption消費(fèi)記錄表中,需要查找出每個用戶所有的消費(fèi)金額明細(xì)。
很顯然,單一的group by已經(jīng)不足以實(shí)現(xiàn)這個需求了:
select max(time),fee from consumption group by user_id
group by后的字段之間的關(guān)系是錯層的,我們只能單一的去篩選某個字段,而不能保證它們同屬于一條記錄。
這個時候就要用到group_concat()函數(shù)了:
select user_id,GROUP_CONCAT(time,':',fee) from consumption group by user_id
得到如下結(jié)果:

對結(jié)果進(jìn)行數(shù)據(jù)處理,可以很容易地在頁面上展示我們想要的效果。
總結(jié)
以上所述是小編給大家介紹的mysql中的concat相關(guān)函數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對本站網(wǎng)站的支持!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信