MySQL分割字段1为n

在生产中遇到过字段分割的需要:将日期时间字段【20221103 12:15】的日期时间,分割成两个字段【日期20221103、时间12:15】。
用了下面的写法可以实现,具体的意思忘记了,有时间再补上,或者看明白的小伙伴欢迎分享在评论区。

 select path
             , substring_index(path
             , '|'
             , 1) as first_achievement_id
             , case
    when (LENGTH(path) - LENGTH(REPLACE (path
             , '|'
             , ''))) >= 1
    then substring_index(substring_index(path
             , '|'
             , 2)
             , '|'
             , -1) end as second_achievement_id
             , case
    when (LENGTH(path) - LENGTH(REPLACE (path
             , '|'
             , ''))) >= 2
    then substring_index(substring_index(path
             , '|'
             , 3)
             , '|'
             , -1) end as third_achievement_id
             , case
    when (LENGTH(path) - LENGTH(REPLACE (path
             , '|'
             , ''))) >= 3
    then substring_index(substring_index(path
             , '|'
             , 4)
             , '|'
             , -1) end as fourth_achievement_id
             , case
    when (LENGTH(path) - LENGTH(REPLACE (path
             , '|'
             , ''))) >= 4
    then substring_index(substring_index(path
             , '|'
             , 5)
             , '|'
             , -1) end as fifth_achievement_id
    from student_achievement;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值