詳解mysql中的concat相關函式
阿新 • • 發佈:2020-01-09
一、concat()函式
功能:將多個字串連線成一個字串
語法:concat(str1,str2,…)
其中的字串既可以是資料表字段,也可以是指定的字串
返回結果為連線引數產生的字串,如果有任何一個引數為null,則該條記錄的返回值為null
二、concat_ws()函式
功能:和concat()一樣,將多個字串連線成一個字串,但是可以一次性指定分隔符(concat_ws就是concat with separator)
語法:concat_ws(separator,str1,…)
說明:第一個引數指定分隔符,需要注意的是分隔符不能為null,如果為null,則所有返回結果均為null
三、group_concat()函式
先來看這麼個需求:
其中user_id是使用者id,fee是消費金額,time是消費時間戳。
在consumption消費記錄表中,需要查找出每個使用者所有的消費金額明細。
很顯然,單一的group by已經不足以實現這個需求了:
select max(time),fee from consumption group by user_id
group by後的欄位之間的關係是錯層的,我們只能單一的去篩選某個欄位,而不能保證它們同屬於一條記錄。
這個時候就要用到group_concat()函數了:
select user_id,GROUP_CONCAT(time,':',fee) from consumption group by user_id
得到如下結果:
對結果進行資料處理,可以很容易地在頁面上展示我們想要的效果。
總結
以上所述是小編給大家介紹的mysql中的concat相關函式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!