Advertisement

MySQL字符串拆分支持split功能(字段分割转列)

阅读量:

需求背景阐述

在复杂的数据库应用场景中,开发人员经常遇到将非规范化的逗号分隔字符串拆分为多行独立记录的需求。例如,某个字段存储了多个关联ID,但业务逻辑要求每个ID对应一行独立的数据进行处理或展示。以下是具体的业务场景描述。

数据库中 num 字段当前存储的值为:
在这里插入图片描述
期望达成的最终效果:将原本存储在一个单元格内的多个值,拆解为多条独立的数据记录,从而实现“一行变多行”的数据展开。

核心实现逻辑

为了达成上述目标,我们编写了如下的 SQL 查询语句:

复制代码
    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('7654,7698,7782,7788',',',help_topic_id+1),',',-1) AS num 
    FROM mysql.help_topic 
    WHERE help_topic_id < LENGTH('7654,7698,7782,7788')-LENGTH(REPLACE('7654,7698,7782,7788',',',''))+1
    
    

全部评论 (0)

还没有任何评论哟~