字符串分割,行转列

使用场景

为什么要用到字符串分割,行转列

  在我们开发的过程中,有时我们会遇到这样的数据结构:

主键id 子集主键id
id children_id
122 4795/4796/4797/

  我们可以看到,在我们根据主表查询子表中的信息时,我们从主表中获取的子表id是以字符串的形式进行拼接的,当我们要想根据主表关联子表信息时,我们首先将主表的子表id字段进行字符串拆分,然后将拆分后的字段行转列,以此来关联子表,实现子表信息的查询操作。

字符串分割行转列的思路

  我们在进行字符串分割行转列的时候,我们需要用到如下两个主要步骤:

  • 使用分隔符,实现字符串拆分操作
  • 使用循环,让拆分后的字段实现行转列效果

字符串分割函数

  在MySQL中,其实现字符串拆分的函数为SUBSTRING_INDEX(str,delim,count)

关键字 含义
str 被拆分的字符串
delim 分隔符
count 在定界符 delim 以及count 出现前,从字符串str返回自字符串。若count为正值,则返回最终定界符(从左边开始)左边的一切内容。若count为负值,则返回定界符(从右边开始)右边的一切内容。

  它的用法如下:

  比如说我们想要获取4795/4796/4797/中的4795,我们的做法是:

SELECT SUBSTRING_INDEX('4795/4796/4797/','/',1)

循环思路

  在MySQL中,一共有三种循环,分别为

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值