concat() 返回连接在一起的字符串
语法:CONCAT(str1,str2,...)
+----------------------------------+
|concat(12,'ab','mn') |
+----------------------------------+
| 12abmn |
+----------------------------------+
+---------------------------------------------------+
|concat('englishName' , '(', 'chineseName' , ')' ) |
+----------------------------------------------------+
|englishName(chineseName) |
+----------------------------------------------------
如果如果自变量中含有一个二进制字符串,则结果为一个二进制字符串。
如果要连接的字符串中有一个为null,则结果全为null;
mysql>select concat(12,'ab',null);
+--------------------+
|concat(12,'ab',null)|
+--------------------+
|NULL |
+--------------------+
concat_ws()是concat()的特殊形式
语法:concat_ws(separator,str1,str2,...);
他的第一个参数是分隔符,可以是字符串,也可以是其他参数
+-------------------------------+
| concat_ws(',','11','22','33') |
+-------------------------------+
| 11,22,33 |
+-------------------------------+
与concat()的不同之处
+-------------------------------+
| concat_ws(',','11','22',NULL) |
+-------------------------------+
| 11,22 |
+-------------------------------+
通过一张表来详细了解该函数的用法
mysql> SELECT * FROM users;
+------+------+------------+--------+
| id | name | chineseName| salary |
+------+------+------------+--------+
| 1 | John | 张三 | 25000 |
| 2 | Ram | 李四 | 22000 |
| 3 | Jack | 王五 | 17000 |
+------+------+------------+-------+
7 rows in set (0.00 sec)
假设现在要将name和chineseName连接在一起
select concat(name,chineseName) from users;
+-------------------+
|concat(name,chineseName)|
+-------------------+
| John 张三 |
| Ram李四 |
| Jack王五 |
+-----------------+
$sql = 'SELECT GROUP_CONCAT( CONCAT( pm.rtx, "(", pm.name, ")" ) ) AS create_name
FROM user_projects up
LEFT JOIN projects p ON up.project_id = p.id
LEFT JOIN users AS pm ON pm.id = up.user_id
WHERE user_project_status =1
AND up.project_id = p.id) AS pm_rtx ';