现有数据,比如爱好hobby,有多个爱好用逗号隔开放在一起存储,现在需要把他们分开

最终结果

直接上脚本
use DB01;
-- 建表
create table dbo.tb_hobby(
id int null
,name varchar(10) null
,hobby varchar(100) null
);
-- 插入数据
insert into dbo.tb_hobby values ('1001','朱梅拉','跑步,踢足球,打篮球');
insert into dbo.tb_hobby values ('1002','李格策','书法,跑步');
-- 查询
select * from dbo.tb_hobby;
-- 拆分成行
select a.id
,a.name
,SUBSTRING(a.hobby,number,CHARINDEX(',',a.hobby+',',number)-number) as hobby
from tb_hobby a,master..spt_values
where number >= 1 and number < len(a.hobby)
and type='p'
and SUBSTRING(','+a.hobby,number,1)=','
;
本文介绍如何从数据库中带有逗号分隔的爱好字段,通过SQL脚本将其转换为单独的记录,便于后续分析和管理。
5212

被折叠的 条评论
为什么被折叠?



