博客
关于我
MySql中的concat()相关函数
阅读量:790 次
发布时间:2023-02-11

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

MySQL 中常用字符串连接函数详解

作为数据库开发人员,熟悉MySQL 中的字符串连接函数是必不可少的。以下将详细介绍几种常用的字符串连接函数,包括 CONCATCONCAT_WSGROUP_CONCAT,并通过实例说明其用法。

1. CONCAT 函数的基本应用

CONCAT 函数用于将两个字符串连接起来,形成一个单一的字符串。其基本语法如下:

CONCAT(str1, str2, ...)

示例:

SELECT CONCAT('FIRST ', 'SECOND');

运行结果如下:

CONCAT('FIRST ', 'SECOND')
FIRST SECOND

这表明 CONCAT 函数能够简单地将两个字符串拼接起来。

在实际应用中,CONCAT 可用于将多个字段进行连接。例如,假设 employee_tbl 表包含以下记录:

SELECT * FROM employee_tbl;

运行结果如下:

id name work_date daily_typing_pages
1 John 2007-01-24 250
2 Ram 2007-05-27 220
3 Jack 2007-05-06 170
3 Jack 2007-04-06 100
4 Jill 2007-04-06 220
5 Zara 2007-06-06 300
5 Zara 2007-02-06 350

如果需要将员工ID、姓名和工作日期连接起来,可以使用以下命令:

SELECT CONCAT(id, name, work_date) FROM employee_tbl;

运行结果如下:

CONCAT(id, name, work_date)
1John2007-01-24
2Ram2007-05-27
3Jack2007-05-06
3Jack2007-04-06
4Jill2007-04-06
5Zara2007-06-06
5Zara2007-02-06

2. CONCAT_WS 函数的基本用法

CONCAT_WSCONCAT 的一种变种,用于在字符串之间插入指定的分隔符。其语法如下:

CONCAT_WS(separator, str1, str2, ...)

示例:

SELECT CONCAT_WS(',','11','22','33');

运行结果如下:

CONCAT_WS(',','11','22','33')
11,22,33

CONCAT 不同的是,CONCAT_WS 会忽略 NULL 值。例如:

SELECT CONCAT_WS(',','11','22',NULL);

运行结果如下:

CONCAT_WS(',','11','22',NULL)
11,22
#### 3. GROUP_CONCAT 函数的基本应用`GROUP_CONCAT` 用于在组内的记录中将多个字段连接起来。其语法如下:```sqlGROUP_CONCAT([DISTINCT] column_name [ORDER BY ...] [SEPARATOR ...])

示例:

假设 aa 表包含以下记录:

SELECT * FROM aa;

运行结果如下:

id name
1 10
1 20
1 20
2 20
3 200
3 500

如果需要按 id 分组,将 name 字段连接起来,可以使用以下命令:

SELECT id, GROUP_CONCAT(name) FROM aa GROUP BY id;

运行结果如下:

id GROUP_CONCAT(name)
1 10,20,20
2 20
3 200,500

如果需要自定义分隔符,可以使用 SEPARATOR 参数:

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

如果需要去重,可以使用 DISTINCT 参数:

SELECT id, GROUP_CONCAT(DISTINCT name) FROM aa GROUP BY id;

运行结果如下:

id GROUP_CONCAT(DISTINCT name)
1 10,20
2 20
3 200,500

如果需要按 name 排序,可以使用 ORDER BY 参数:

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

总结

通过以上示例,可以看出 CONCATCONCAT_WSGROUP_CONCAT 在实际应用中具有广泛的用途。无论是简单的字符串拼接,还是复杂的字段连接,都是开发人员日常工作中的常见需求。掌握这些函数的用法,能够显著提升数据库操作的效率。

转载地址:http://bvbfk.baihongyu.com/

你可能感兴趣的文章
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
查看>>
MySQL 8.0 恢复孤立文件每表ibd文件
查看>>
MySQL 8.0开始Group by不再排序
查看>>
mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
查看>>
multi swiper bug solution
查看>>
MySQL Binlog 日志监听与 Spring 集成实战
查看>>
MySQL binlog三种模式
查看>>
multi-angle cosine and sines
查看>>
Mysql Can't connect to MySQL server
查看>>
mysql case when 乱码_Mysql CASE WHEN 用法
查看>>
Multicast1
查看>>
MySQL Cluster 7.0.36 发布
查看>>
Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
查看>>
MySQL Cluster与MGR集群实战
查看>>
multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
查看>>
mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
查看>>
Multiple websites on single instance of IIS
查看>>
mysql CONCAT()函数拼接有NULL
查看>>