mysql concat()函数使用

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 ';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值