MySQL字符串拼接与分组拼接字符串实例代码

2023年 4月 14日 64.9k 0

目录 一、经典拼接concat(x,x,....) 二、分隔符拼接CONCAT_WS(separator,str1,str2,...) 三、分组拼接GROUP_CONCAT(expr) 补充:在筛选查询中进行字符串拼接并显示在表格里 总结 一、经典拼接concat(x,x

目录一、经典拼接concat(x,x,....)二、分隔符拼接CONCAT_WS(separator,str1,str2,...)三、分组拼接GROUP_CONCAT(expr)补充:在筛选查询中进行字符串拼接并显示在表格里总结

一、经典拼接concat(x,x,....)

用法案例:

SELECT
concat( '字符串', '拼接', ',啥都可以', '嘿嘿' ) AS concats
FROM DUAL

注意:

如果有任何一个参数为NULL,则返回值为NULL;

二、分隔符拼接CONCAT_WS(separator,str1,str2,...)

-- CONCAT_WS(分隔符,字符串1,字符串2,...)
SELECT
CONCAT_WS(':','现在时间',now()) AS concats
FROM DUAL

注意:

如果分隔符为NULL,则结果为NULL;

三、分组拼接GROUP_CONCAT(expr)

group_concat函数

实现分组查询之后的数据进行合并,并返回一个字符串结果。用于将多个字符串拼接成一个字符串。MySql默认的最大拼接长度为1024个字节

格式:GROUP_CONCAT(DISTINCT 要拼接的字段 ORDER BY 排序字段 ASC/DESC SEPARATOR '分隔符')

-- GROUP_CONCAT(DISTINCT 要拼接的字段 ORDER BY 排序字段 ASC/DESC SEPARATOR '分隔符')
-- 不好写例子,直接借用的leetCode上的题
SELECT
sell_date,
count( DISTINCT product ) AS num_sold,
GROUP_CONCAT( DISTINCT product ORDER BY product SEPARATOR ',' ) AS products
FROM
Activities
GROUP BY
sell_date;

通过使用DISTINCT可以排除重复值;如果希望对结果中的值进行排序,可以使用ORDER BY子句;SEPARATOR是一个字符串值,默认为逗号分隔。

补充:在筛选查询中进行字符串拼接并显示在表格里

有时,我们需要拼接的返回值放在表格中与其他信息一起显示。

比如招生老师想把候选人的「学历」「姓名」「学科」单独提出来,筛选出研究生学历的候选人,并显示他们的联系方式:

SELECT CONCAT(qualification, ' ', firstname, ' - ', subject) AS 候选人资料, wechat_id, phone FROM kalacloud_student WHERE qualification = 'MPhil';

在使用 CONCAT() 拼接信息的同时,使用 WHERE 筛选出研究生学历(MPhil)的候选人

总结

到此这篇关于MySQL字符串拼接与分组拼接字符串的文章就介绍到这了,更多相关MySQL字符串拼接内容请搜索每日运维以前的文章或继续浏览下面的相关文章希望大家以后多多支持每日运维!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论