declare @AllChar varchar(50) declare @FirstChar varchar(50) declare @FirstPoint int declare @lenth int set @AllChar='1,2,3,4,5,6,7,8' ----可以传入一个字符串 set @lenth=len(@AllChar) create table #Temp_String(FID int identity,Content varchar(50)) set @FirstPoint=charindex(',',@AllChar)while( @FirstPoint>0) begin set @FirstChar=substring(@AllChar,0,@FirstPoint) --select @FirstChar insert into #Temp_String(Content) values (@FirstChar) set @AllChar=substring(@AllChar,@FirstPoint+1,@lenth) set @FirstPoint=charindex(',',@AllChar) end insert into #Temp_String(Content) values (@AllChar) select * from #Temp_String
create table T(col int)declare @str varchar(20) set @str='1,2,3,4,5,6,7,8' declare @sql varchar(8000) set @sql='insert T select col=''' select @sql=@sql+replace(@str, ',', ''' union all select ''')+'''' exec(@sql)select * from T--result col ----------- 1 2 3 4 5 6 7 8(8 row(s) affected)
declare @FirstChar varchar(50)
declare @FirstPoint int
declare @lenth int set @AllChar='1,2,3,4,5,6,7,8' ----可以传入一个字符串
set @lenth=len(@AllChar)
create table #Temp_String(FID int identity,Content varchar(50))
set @FirstPoint=charindex(',',@AllChar)while( @FirstPoint>0)
begin
set @FirstChar=substring(@AllChar,0,@FirstPoint)
--select @FirstChar
insert into #Temp_String(Content) values (@FirstChar)
set @AllChar=substring(@AllChar,@FirstPoint+1,@lenth)
set @FirstPoint=charindex(',',@AllChar)
end insert into #Temp_String(Content) values (@AllChar)
select * from #Temp_String
create table T(col int)declare @str varchar(20)
set @str='1,2,3,4,5,6,7,8'
declare @sql varchar(8000)
set @sql='insert T select col='''
select @sql=@sql+replace(@str, ',', ''' union all select ''')+''''
exec(@sql)select * from T--result
col
-----------
1
2
3
4
5
6
7
8(8 row(s) affected)