一行拆分为多行的SQL语句(转自网络)


if object_id('[aaa]') is not null drop table [aaa]
go
create table [aaa]([地区] varchar(4),[内容] varchar(45))
insert [aaa]
select '中国','021sp.html|管材|4355;028sp.html|建筑材料|3209' union all
select '中国','023sp.html|材|4356;025sp.html|建|9209'
go
  
-->开始查询
select  a.地区,
        内容=substring(a.内容,b.number,charindex(';',a.内容+';',b.number)-b.number)
from [tb] a
join master..spt_values b on b.type='P'
where substring(';'+a.内容,b.number,1)=';'
  
-->测试结果
---- --------------------------
/*
地区    内容
中国    021sp.html|管材|4355
中国    028sp.html|建筑材料|3209
中国    023sp.html|材|4356
中国    025sp.html|建|9209

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM