MySQL字符串拼接函數使用

測試數據

SELECT id,login_name,real_name FROM `iam_user` where id in (17,18,19)
id login_name real_name
17 uat_test02 測試賬號2
18 uat_test03 測試賬號03
19 uat_test04 測試賬號04

1、CONCAT(直接拼接函數)

語法:CONCAT(str1,str2…)

案例:

SELECT  CONCAT(id,login_name,real_name) AS result FROM `iam_user` where id in (17,18,19)
result
17uat_test02測試賬號2
18uat_test03測試賬號03
19uat_test04測試賬號04

注意:CONCAT函數的參數不可以是NULL,否則只要有一個是NULL,返回值就是NULL

2、CONCAT_WS(使用指定的分割符去拼接字符串)

語法:CONCAT_WS(separator,str1,str2…)

案例:

SELECT  CONCAT_WS(',',id,login_name,real_name) AS result FROM `iam_user` where id in (17,18,19)
result
17,uat_test02,測試賬號2
18,uat_test03,測試賬號03
19,uat_test04,測試賬號04

注意:CONCAT_WS函數的separator參數不可以是NULL,否則返回值就是NULL,待拼接字符串如果爲NULL,則不影響其他字符串的拼接

3、GROUP_CONCAT(將查詢的數據先行直接連接,然後將列通過指定的分割符拼接)

語法:GROUP_CONCAT([DISTINCT] str1,str2… [ORDER BY str1 ASC/DESC ,str2 ASC/DESC…] [SEPARATOR ‘separator’])

SELECT GROUP_CONCAT(DISTINCT id,login_name,real_name ORDER BY id DESC SEPARATOR ',') AS result FROM `iam_user` where id in (17,18,19)

案例:

result
19uat_test04測試賬號04,18uat_test03測試賬號03,17uat_test02測試賬號2

注意:CONCAT_CONCAT函數的separator參數可以是沒有的,只有待拼接字符串時,默認的separator是 ‘,’

4、REPEAT(複製指定字符串指定次數)

語法:REPEAT(str,num)

案例:

SELECT REPEAT(id,2) AS result FROM `iam_user` where id in (17,18,19)
result
1717
1818
1919

注意:REPEAT函數的num參數不可以是NULL,否則返回值就是NULL

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章