
返回结果为连接参数产生的字符串。如有任何一个参数为NulL ,则返回值为 NulL。
MysqL> select concat('11','22','33');+------------------------+| concat('11','33') |+------------------------+| 112233 |+------------------------+1 row in set (0.00 sec)MysqL的concat函数在连接字符串的时候,只要其中一个是NulL,那么将返回NulL
MysqL> select concat('11',null);+------------------------+| concat('11',null) |+------------------------+| NulL |+------------------------+1 row in set (0.00 sec)concat_ws(separator,str1,str2)contcat_ws() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NulL,则结果为 NulL。函数会忽略任何分隔符参数后的 NulL 值。与上方介绍的不一样的是,如果有null值,会将null进行过滤。
如连接后以逗号分隔
MysqL> select concat_ws(',','11','33');+-------------------------------+| concat_ws(','33') |+-------------------------------+| 11,22,33 |+-------------------------------+1 row in set (0.00 sec)和MysqL中concat函数不同的是,concat_ws函数在执行的时候,不会因为NulL值而返回NulL
MysqL> select concat_ws(',NulL);+-------------------------------+| concat_ws(',NulL) |+-------------------------------+| 11,22 |+-------------------------------+1 row in set (0.00 sec)group_concat函数语法group_concat([disTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
基本查询MysqL> select * from aa;+------+------+| ID| name |+------+------+|1 | 10||1 | 20||1 | 20||2 | 20||3 | 200 ||3 | 500 |+------+------+6 rows in set (0.00 sec)以ID分组,把name字段的值打印在一行,逗号分隔(默认)MysqL> select ID,group_concat(name) from aa group by ID;+------+--------------------+| ID| group_concat(name) |+------+--------------------+|1 | 10,20,20||2 | 20 ||3 | 200,500|+------+--------------------+3 rows in set (0.00 sec)以ID分组,把name字段的值打印在一行,分号分隔MysqL> select ID,group_concat(name separator ';') from aa group by ID;+------+----------------------------------+| ID| group_concat(name separator ';') |+------+----------------------------------+|1 | 10;20;20 ||2 | 20||3 | 200;500 |+------+----------------------------------+3 rows in set (0.00 sec)以ID分组,把去冗余的name字段的值打印在一行,逗号分隔MysqL> select ID,group_concat(distinct name) from aa group by ID;+------+-----------------------------+| ID| group_concat(distinct name) |+------+-----------------------------+|1 | 10,20||2 | 20 ||3 | 200,500 |+------+-----------------------------+3 rows in set (0.00 sec)以ID分组,把name字段的值打印在一行,逗号分隔,以name排倒序MysqL> select ID,group_concat(name order by name desc) from aa group by ID;+------+---------------------------------------+| ID| group_concat(name order by name desc) |+------+---------------------------------------+|1 | 20,10 ||2 | 20||3 | 500,200|+------+---------------------------------------+3 rows in set (0.00 sec) 总结 以上是内存溢出为你收集整理的mysql中concat函数的使用相关总结全部内容,希望文章能够帮你解决mysql中concat函数的使用相关总结所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)