这个存储过程怎么写

jinchun 2003-03-26 12:07:18
将字符串 a,b,c 分别插入表中为三行,值分别为a b c
我该怎么写,能分离成数组吗?怎么写
...全文
7 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
CrazyFor 2003-03-26
OR:

declare @str varchar(1000),@strSQL Varchar(2000)
set @str='a,b,c,d'
set @strSQL='select '''+replace(@str,',',''' union all select ''')+''''
print @strSQL
exec(@strSQL)
回复
CrazyFor 2003-03-26
参考:

J9988提供

drop table #temp
select top 1000 identity(int,1,1) as col,0 aa into #temp from
(select top 100 * from sysobjects)a,
(select top 100 * from sysobjects)b,
(select top 100 * from sysobjects)c


declare @a table (id int,string varchar(8000))
insert @a select 1 ,'a,b,c,sd,dfsdfg'
union select 2, 'a,n,sdf,we,t'
union select 3, 's,df,df'

select id,substring(','+string+',',col+1,charindex(',',','+string+',',col+1)-(col+1))
from @a a,#temp b
where len(string+',')-len(replace(string,',',''))>=b.col
order by id

回复
tmj 2003-03-26
up
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2003-03-26 12:07
社区公告
暂无公告