首页 新闻 会员 周边 捐助

可以用SQL把带有分割字符的单元格拆开吗?

0
[已解决问题] 解决于 2019-09-27 17:12

例如EMP_ID的单元格中,有数据E1/E2

ID

NAME

EMP_ID

D1

技术部

E1/E2

D2

财务部

E3

 

可以用过SQL把E1/E2的行数据,拆成2条吗?

拆成如下这种

ID

NAME

EMP_ID

D1

技术部

E1

D1

技术部

E2

D2

财务部

E3

 

 

 

renguanyu的主页 renguanyu | 小虾三级 | 园豆:841
提问于:2019-05-20 21:05
< >
分享
最佳答案
0

dept 表:

SQL:(我用的是 MySQL)
select
ID,
dept.NAME,
substring_index(substring_index(EMP_ID,'/',help_topic_id+1),'/',-1) as num
from
dept,
mysql.help_topic
where
help_topic_id < length(EMP_ID)-length(replace(EMP_ID,'/',''))+1

结果:

参考:https://blog.csdn.net/pjymyself/article/details/81668157
建议看下这个人写的文档,我是看这篇文档写的SQL。
作者讲的是“MySQL 带分隔符的字符串拆分”,有详细的解析和例子,配有图文,简单易懂。

奖励园豆:5
猪仔95 | 菜鸟二级 |园豆:223 | 2019-05-21 11:52

有一定的局限性,并不是所有的场景都适用.

renguanyu | 园豆:841 (小虾三级) | 2019-09-27 17:13
其他回答(2)
0

如果是 SQL Server 2016 及以上版本,可以使用STRING_SPLIT函数;如果不是,需要自己写 split 函数,参考 sql中实现split()功能

dudu | 园豆:30925 (高人七级) | 2019-05-20 21:56
0
gw2010 | 园豆:1487 (小虾三级) | 2019-05-28 14:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册