把一个字段,拆分成多个字段并保存到表:关键SUBSTRING_INDEX

把一个字段,拆分成多个字段并保存到表:关键SUBSTRING_INDEX

前言

背景:现网的同事导出了一个表的个别字段的全量数据给我,但是我准备导入到本地表的时候分辨付出字段,每一行的数据分割如下图。
在Navicat工具中导入向导是这个样子的


提示:以下是本篇文章正文内容,下面案例可供参考

一、新建准备导入数据的表的备份表(用完可删)

下面的是备份表,只有一个字段,
备份表只有一个字段,用来导入数据如下。

二、SQL操作

SELECT info FROM teleaaa_aa_aa_aaaa_bak;
SELECT * FROM teleaaa_aa_aa_aaaa;

/*
SUBSTRING_INDEX(str, delim, count)
str:要截取的字段;
delim 关键字;
count:正数为从左往右数关键词出现的次数,
       负数为从右往左数关键词出现的次数
*/
# 我上图截图中有4个字段,我这里用了3个
SELECT SUBSTRING_INDEX(info,'|',1) as UserID, 
       SUBSTRING_INDEX(SUBSTRING_INDEX(info,'|',-2),'|',1) as AreaCode,
	   SUBSTRING_INDEX(info,'|',-1) as LanMac
  FROM teleaaa_aa_aa_aaaa_bak;

# 把查出的数据插入到需要用的表中,指定字段
INSERT INTO teleaaa_aa_aa_aaaa(UserID,AreaCode,LanMac) 
       (SELECT SUBSTRING_INDEX(info,'|',1) as UserID, 
               SUBSTRING_INDEX(SUBSTRING_INDEX(info,'|',-2),'|',1) as AreaCode,
			   SUBSTRING_INDEX(info,'|',-1) as LanMac
          FROM teleaaa_aa_aa_aaaa_bak);

总结

亲测可用,如有疑问,欢迎评论区讨论。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值