日期:2014-05-17 浏览次数:20606 次
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 [aaa] a
join master..spt_values b on b.type='P'
where charindex(';',';'+a.内容,b.number)=b.number
/**
地区 内容
---- ---------------------------------------------
中国 021sp.html|管材|4355
中国 028sp.html|建筑材料|3209
中国 023sp.html|材|4356
中国 025sp.html|建|9209
(4 行受影响)
**/
------解决方案--------------------
-->根据树哥的换个条件
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
*/
------解决方案--------------------