sql 语句查询字段,根据分隔符截取该字符串,循环输出
表TA中有一字段Fields是按$分割的字符串,
Fields内饰精品$外饰精品$改装/配件$功能用品$美容/养护$香水/净化$车主用品$汽车电器$安全/应急$影音导航$
Fields内饰精品外饰精品改装/配件功能用品美容/养护香水/净化车主用品汽车电器安全/应急影音导航
--> 测试数据: [ta]if object_id('[ta]') is not null drop table [ta]create table [ta] (Fields varchar(100))insert into [ta]select '内饰精品$外饰精品$改装/配件$功能用品$美容/养护$香水/净化$车主用品$汽车电器$安全/应急$影音导航$'goselect substring(Fields,b.number,charindex('$',Fields,b.number+1)-b.number) Xfrom ta a,master..spt_values bwhere b.type='p' and b.number between 1 and 100 and substring('$'+left(Fields,len(fields)-1),b.number,1)='$'
[解决办法]
create table #test(id int identity(1,1),contents varchar(10))godeclare @str varchar(8000)set @str='内饰精品$外饰精品$改装/配件$功能用品$美容/养护$香水/净化$车主用品$汽车电器$安全/应急$影音导航$'select @str='insert #test(contents) select '+''''+replace(@str,'$',''''+' union all select '+'''')select @str=left(@str,len(@str)-19)print @strexec(@str)goselect * from #test/*id contents----------- ----------1 内饰精品2 外饰精品3 改装/配件4 功能用品5 美容/养护6 香水/净化7 车主用品8 汽车电器9 安全/应急10 影音导航(10 行受影响)*/