详解MySQL中concat函数的用法(连接字符串)
发布时间 - 2026-01-10 22:01:56 点击率:次MySQL中concat函数

使用方法:
CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
MySQL的concat函数可以连接一个或者多个字符串,如
mysql> select concat('10');
+--------------+
| concat('10') |
+--------------+
| 10 |
+--------------+
1 row in set (0.00 sec)
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)
MySQL中concat_ws函数
使用方法:
CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 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)
MySQL中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)
repeat()函数
用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数
mysql> select repeat('ab',2);
+----------------+
| repeat('ab',2) |
+----------------+
| abab |
+----------------+
1 row in set (0.00 sec)
又如
mysql> select repeat('a',2);
+---------------+
| repeat('a',2) |
+---------------+
| aa |
+---------------+
1 row in set (0.00 sec)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# mysql
# concat函数
# concat用法
# mysql的concat函数
# Mysql使用concat函数实现关键字模糊查询功能(列表数据过滤含前后端代码)
# 详解MySQL拼接函数CONCAT的使用心得
# MySQL拼接字符串函数GROUP_CONCAT详解
# mysql函数拼接查询concat函数的使用方法
# Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
# mysql group_concat()函数用法总结
# MySQL函数CONCAT、CONCAT_WS、GROUP_CONCAT用法详解
# 分隔符
# 的是
# 是一个
# 放在
# 第一个
# 多个
# 如有
# 均为
# 这种情况
# 任何一个
# 与之
# 其中一个
# 转化为
# 若要
# 又如
# 值为
# 大家多多
# 份数
# 中含有
# CAST
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
如何在腾讯云服务器快速搭建个人网站?
Laravel如何为API生成Swagger或OpenAPI文档
如何在宝塔面板中修改默认建站目录?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
浅述节点的创建及常见功能的实现
android nfc常用标签读取总结
如何在建站宝盒中设置产品搜索功能?
如何用免费手机建站系统零基础打造专业网站?
如何快速登录WAP自助建站平台?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
常州企业网站制作公司,全国继续教育网怎么登录?
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
网页设计与网站制作内容,怎样注册网站?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
Android GridView 滑动条设置一直显示状态(推荐)
如何将凡科建站内容保存为本地文件?
QQ浏览器网页版登录入口 个人中心在线进入
大学网站设计制作软件有哪些,如何将网站制作成自己app?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
Laravel如何与Inertia.js和Vue/React构建现代单页应用
西安专业网站制作公司有哪些,陕西省建行官方网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何快速搭建自助建站会员专属系统?
LinuxShell函数封装方法_脚本复用设计思路【教程】
Laravel如何记录自定义日志?(Log频道配置)
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
JavaScript如何实现路由_前端路由原理是什么
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
如何获取上海专业网站定制建站电话?
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
动图在线制作网站有哪些,滑动动图图集怎么做?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel如何使用Sanctum进行API认证?(SPA实战)
高端云建站费用究竟需要多少预算?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
利用 Google AI 进行 YouTube 视频 SEO 描述优化
Laravel如何自定义错误页面(404, 500)?(代码示例)
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
如何在腾讯云免费申请建站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
魔方云NAT建站如何实现端口转发?
南京网站制作费用,南京远驱官方网站?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Windows Hello人脸识别突然无法使用

