MySQL数据切割换行,数据拆分

需求:将单行逗号拼接数据进行切割,换成多行数据

1. 数据库结构数据图

在这里插入图片描述

2.SQL

SELECT
	SUBSTRING_INDEX( SUBSTRING_INDEX( pn.plan_num, ',', help_topic_id + 1 ), ',',- 1 ) AS plannum 
FROM
	( SELECT plan_num FROM te_deepen_plan WHERE plan_id = 19 ) pn
	JOIN mysql.help_topic b 
WHERE
	b.help_topic_id < LENGTH( pn.plan_num )- LENGTH(
	REPLACE ( pn.plan_num, ',', '' ))+ 1

单查询数据截图
在这里插入图片描述
执行后数据截图
在这里插入图片描述

3.substring_index(string,sep,num)切割函数

string:用于截取目标字符串的字符串。可为字段,表达式等。

sep:分隔符,string存在且用于分割的字符,比如“,”、“.”等。

num:序号,为非0整数。若为整数则表示从左到右数,若为负数则从右到左数。比如“www.mysql.com”截取字符‘www’,分割符为“.”,从左到右序号为1,即substring_index(“www.mysql.com”,‘.’,1);若从右开始获取“com”则为序号为-1即substring_index(“www.mysql.com”,‘.’,-1)

4.LENGTH( pn.plan_num ) 字符长度函数

查看某字符串的长度(pn.plan_num)

5. replace()替换函数

语法: REPLACE ( string_expression , string_pattern , string_replacement)

参数:

string_expression:字符串表达式

string_pattern:想要查找的子字符串

string_replacement:想要替换成的子字符串

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值