mysql中concat函数的使用相关总结
发布日期:2021-05-09 03:55:28 浏览次数:14 分类:博客文章

本文共 2682 字,大约阅读时间需要 8 分钟。

concat(str1,str2)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

mysql> select concat('11','22','33');+------------------------+| concat('11','22','33') |+------------------------+| 112233 |+------------------------+1 row in set (0.00 sec)

MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

mysql> select concat('11','22',null);+------------------------+| concat('11','22',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','22','33');+-------------------------------+| concat_ws(',','11','22','33') |+-------------------------------+| 11,22,33 |+-------------------------------+1 row in set (0.00 sec)

和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL

mysql> select concat_ws(',','11','22',NULL);+-------------------------------+| concat_ws(',','11','22',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,20,10   ||2 | 20||3 | 500,200|+------+---------------------------------------+3 rows in set (0.00 sec)
上一篇:mysql的repeat()函数
下一篇:SpringCloud中Feign的适配器的实现方案

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年05月09日 19时54分29秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

0/1背包问题——从LeetCode题海中总结常见套路 2023-01-24
(原创)面向对象的系统对接接口编写。第5篇(完结) 2023-01-24
2024网络安全岗就业前景如何?零基础入门到精通,收藏这篇就够了 2023-01-24
2024零基础如何入门网络安全? 2023-01-24
2024,java开发,已经炸了吗? 2023-01-24
2025入门黑客技术必读书籍(非常全面)带你从小白进阶大佬!收藏这一篇就够了 2023-01-24
2025入门黑客技术必读书籍(非常全面)带你从小白进阶大佬!收藏这篇就够了 2023-01-24
2025大语言模型入门该怎么学?零基础入门到精通,收藏这篇就够了 2023-01-24
2025年3月全国计算等级考试(报名操作指南)从零基础到精通,收藏这篇就够了! 2023-01-24
2025年中国云计算市场四大趋势前瞻,从零基础到精通,收藏这篇就够了! 2023-01-24
.off打开方式、文件格式和使用代码(Python示例) 2023-01-24
2025年十大最佳漏洞管理工具,从零基础到精通,收藏这篇就够了! 2023-01-24
2025年网络安全五大趋势与十大威胁预测,从零基础到精通,收藏这篇就够了! 2023-01-25
2025想做黑客?先来学习 SQL 注入,零基础入门到精通,收藏这篇就够了 2023-01-25
2025春招计算机就业哪些方向最香?零基础入门到精通,收藏这篇就够了 2023-01-25
2025最全版《安全技术交底》.docx。从零基础到精通,收藏这篇就够了! 2023-01-25
2025最新大模型技术学习过程梳理,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版万字长文入门大语言模型(LLM)零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新0基础怎么转行网络安全?零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新Bash Shell入门指南,零基础入门到精通,收藏这篇就够了 2023-01-25