我是靠谱客的博主 细心小海豚,最近开发中收集的这篇文章主要介绍mysql concat 能否返回数字_mysql中concat函数的使用相关总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

concat(str1,str2)

返回结果为连接参数产生的字符串。如有任何一个参数为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)

相关文章

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

最后

以上就是细心小海豚为你收集整理的mysql concat 能否返回数字_mysql中concat函数的使用相关总结的全部内容,希望文章能够帮你解决mysql concat 能否返回数字_mysql中concat函数的使用相关总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部