我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql 多个字段拼接的实例详解

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql 多个字段拼接的实例详解

Mysql的查询结果行字段拼接,可以用下面两个函数实现:

1. concat函数


mysql> select concat('1','2','3') from test ;
+---------------------+
| concat('1','2','3') |
+---------------------+
| 123 |
+---------------------+

如果连接串中存在NULL,则返回结果为NULL:


mysql> select concat('1','2',NULL,'3') from test ;
+--------------------------+
| concat('1','2',NULL,'3') |
+--------------------------+
| NULL |
+--------------------------+

2. concat_ws函数

concat(separator,str1,str2,...) 代表 concat with separator ,是concat()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。


mysql> select concat_ws(':','1','2','3') from test ;
+----------------------------+
| concat_ws(':','1','2','3') |
+----------------------------+
| 1:2:3 |
+----------------------------+

分隔符为NULL,则返回结果为NULL:


mysql> select concat_ws(NULL,'1','2','3') from test; 
+-----------------------------+
| concat_ws(NULL,'1','2','3') |
+-----------------------------+
| NULL | 
+-----------------------------+

如果参数中存在NULL,则会被忽略:


mysql> select concat_ws(':','1','2',NULL,NULL,NULL,'3') from test ;
+-------------------------------------------+
| concat_ws(':','1','2',NULL,NULL,NULL,'3') |
+-------------------------------------------+
| 1:2:3 |
+-------------------------------------------+

可以对NULL进行判断,并用其它值进行替换:


mysql> select concat_ws(':','1','2',ifNULL(NULL,'0'),'3') from bank limit 1; 
+---------------------------------------------+
| concat_ws(':','1','2',ifNULL(NULL,'0'),'3') |
+---------------------------------------------+
| 1:2:0:3          | 
+---------------------------------------------+

补充:补充:mysql中分组时将某个字段的值进行拼接

t_dog表

t_vaccine表

t_dog_vaccine表

问题描述

我需要将dog_vaccine中每个狗相对应的疫苗查询出来,由于狗和疫苗是多对多的关系,一个狗可能对应多个疫苗,但我想把这多个疫苗用字符串拼接成一个,然后去映射到java实体类上。

一步步解决

我用了俩个左连接查询使得 t_dog表,t_vaccine表,t_dog_vaccine表这三个表关联了起来


select dv.id as id,
 d.dog_name as dogName,v.vaccine_name 
 from 
 t_dog_vaccine dv
  left join t_dog d on dv.dog_id = d.id
  left join t_vaccine v on dv.vaccine_id = v.id 

这样虽然把狗和疫苗都对应上了,但是每条狗有多条记录,而我只想要一个狗的名字和把多个vaccine_name的值合并成一个字符串这样的数据。在经过思考以后,我突然想到了·group by 。


select dv.id as id,
 d.dog_name as dogName,v.vaccine_name 
 from 
 t_dog_vaccine dv
  left join t_dog d on dv.dog_id = d.id
  left join t_vaccine v on dv.vaccine_id = v.id 
  group by dogName

用了group by 这明显不是我想到的结果啊,dogName虽然只有一个了,但是它对应的疫苗也只有一个了,我想要多个疫苗名,那怎么办呢? 是不是有个函数可以做字符串拼接呢? emmmmm,有了,group_concat。。。


select dv.id as id,
 d.dog_name as dogName,
 group_concat(v.vaccine_name) as dogVaccineName  
 from 
 t_dog_vaccine dv
  left join t_dog d on dv.dog_id = d.id
  left join t_vaccine v on dv.vaccine_id = v.id 
 group by d.dog_name

这下就达到我想的效果啦。

group_concat用法

默认用法


select group_concat(vaccine_name) as dogVaccineName from t_vaccine where id in(select vaccine_id from t_dog_vaccine where dog_id = 1)

group_concat拼接时默认的分隔符是',' ,如果我们想改变这个分隔符可以这样做。


REPLACE(group_concat(vaccine_name),',','这里填写你所想换的分隔符')

比如我想把默认的,换成;


select REPLACE(group_concat(vaccine_name),',',';') as dogVaccineName from t_vaccine where id in(select vaccine_id from t_dog_vaccine where dog_id = 1)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。如有错误或未考虑完全的地方,望不吝赐教。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql 多个字段拼接的实例详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql 多个字段拼接的实例详解

Mysql的查询结果行字段拼接,可以用下面两个函数实现: 1. concat函数mysql> select concat('1','2','3') from test ; +---------------------+ | concat('
2022-05-27

MySQL多个字段拼接去重的实现示例

目录什么是多个字段拼接去重使用mysql进行多个字段拼接去重创建测试http://www.lsjlt.com表使用GROUP_CONCAT函数进行拼接使用CONCAT_WS函数进行拼接去除重复的拼接结果总结在MySQL中,我们经常会遇到需要
MySQL多个字段拼接去重的实现示例
2024-01-29

mysql 多个字段实现逗号拼接

目录1. 使用CONCAT函数拼接字段2. 使用GROUP_CONCAT函数拼接多个字段3. 拼接字段时去除重复值4. 自定义分隔符和排序顺序总结在mysql数据库中,有时候我们需要将多个字段的值连接在一起,形成一个字段,以便于后续的处理和
mysql 多个字段实现逗号拼接
2024-01-29

mysql 字段括号拼接的实现示例

目录1. 概述2. 步骤详解步骤1:连接到mysql数据库步骤2:构造SQL查询语句步骤3:执行SQL查询语句步骤4:处理查询结果步骤5:关闭数据库连接总结1. 概述在使用MySQL进行数据查询时,有时候需要对字段进行拼接,并用括号包围起
mysql 字段括号拼接的实现示例
2024-01-29

Mysql 实现字段拼接的三个函数

给运营导出数据时,难免需要对字段进行拼接,如果 Mysql 可以完成的话,就可以少些很多代码。concat()concat_ws()group_concat()Mysql 确实有几个函数可以对字段进行拼接。 concat()将多个字段使用空
2022-05-13

mysql中如何拼接一个列的字段

在MySQL中,可以使用CONCAT()函数来拼接一个列的字段,示例如下:SELECT CONCAT(first_name, ' ', last_name) AS full_nameFROM customers;在上
mysql中如何拼接一个列的字段
2024-04-22

MySQL动态SQL拼接实例详解

目录目标分析讲解1. 准备MyBATis环境2. 标签:3. 标签4. 标签 语法介绍5. 标签总结目标能够使用mybatis的标签实现动态SQL拼接分析我们在前边的学习过程中,使用的
2022-12-15

oracle拼接多个字段的方法是什么

在Oracle中,拼接多个字段可以使用字符串连接函数CONCAT或者使用操作符||。下面分别介绍这两种方法:使用CONCAT函数:SELECT CONCAT(column1, column2, column3) AS concatenate
oracle拼接多个字段的方法是什么
2024-04-30

SQL多个字段拼接组合成新字段的常用方法

本文详细介绍了在SQL中将多个字段拼接组合成新字段的常用方法。这些方法包括:使用CONCAT()函数使用||运算符使用GROUP_CONCAT()函数使用COALESCE()函数使用CASE...WHEN...END使用XMLPATH语法这些方法可用于简化数据操作和提高查询效率。字段类型、性能优化和空值处理是需要考虑的重要因素。
SQL多个字段拼接组合成新字段的常用方法
2024-04-02

VUE +Element怎么实现多个字段值拼接功能

本篇内容介绍了“VUE +Element怎么实现多个字段值拼接功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果截图:VUE 核心功能代
2023-06-30

mysql两个字段拼接的方法是什么

在MySQL中,可以使用CONCAT()函数来将两个字段进行拼接。例如,假设有一个表employees,其中包含first_name和last_name字段,可以使用如下的SQL语句来将这两个字段进行拼接:SELECT CONCAT(fi
mysql两个字段拼接的方法是什么
2024-03-04

如何实现 Java 多个字符串的拼接?(java多个字符串拼接怎么实现)

在Java编程中,字符串拼接是一个常见的操作。当需要将多个字符串组合在一起时,有多种方法可以实现。以下是一些常用的方式:一、使用“+”运算符这是最基本的字符串拼接方法。“+”运算符可以用于连接两个字符串。例如:
如何实现 Java 多个字符串的拼接?(java多个字符串拼接怎么实现)
Java2024-12-18

MySQL字符串的拼接、截取、替换、查找位置实例详解

目录mysql字符串的拼接、截取、替换、查找位置。1、字符串的拼接1.1 CONCAT(s1,s2,...)函数2、字符串的截取2.1 SUBSTRING(s,n,len)、MID(s,n,len)函数2.2 LEFT(s,n)、RIGHT
MySQL字符串的拼接、截取、替换、查找位置实例详解
2024-09-28

mysql多个字符串拼接的方法是什么

在MySQL中,可以使用CONCAT()函数来拼接多个字符串。CONCAT()函数可以接受多个参数,将这些参数按照顺序连接起来并返回一个新的字符串。例如,如果要拼接两个字符串str1和str2,可以使用以下语句:SELECT CONCA
mysql多个字符串拼接的方法是什么
2024-04-17

MySQL中ADD COLUMN添加多个字段的写法实例

目录mysql alter 同时添加多个字段写法1 分开写多个 alter table2 只写 ADD 不写COLUMN 关键字3 写COLUMN 关键字其他DDL操作语法总结MySQL alter 同时添加多个字段写法ALTER语法说明
2023-02-17

MySQL中ADD COLUMN添加多个字段的写法实例

这篇文章主要给大家介绍了关于MySQL中ADD COLUMN添加多个字段的写法实例,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
2023-02-17

MySQL中查询json格式的字段实例详解

工作开发过程遇到一个需求:需要动态存储客户的姓名、手机号码、身份证、证件类型,意思是可能前端会传一个人或二个人或者三个人的信息是动态的不固定人数的四个字段(姓名、手机号码、身份证、证件类型)。 前端页面如下:我是使用List来接收前端传过来
2022-05-14

编程热搜

目录