多值字符窜参数的处理

 

 

--外部参数 
declare @hotelIDs nvarchar(4000)
set @hotelIDs = '1,2,3,4,5,6,7,8,9,'
--内部参数 
declare @hotelid nvarchar(8), @length int@index int

create table #tmp(id nvarchar(8));

set @length = len(@hotelIDs- len(replace(@hotelIDs,',',''));
set @index = 1;

while @index <= @length
begin 
  
set @hotelid = '';
  
set @hotelid = left(@hotelIDs,charindex(',',@hotelIDs)-1)
  
set @hotelIDs = right(@hotelIDs,len(@hotelIDs- charindex(',',@hotelIDs))
  
set @index = @index + 1
  
insert into #tmp values (@hotelid)
end

select * from #tmp
drop table #tmp

 

posted @ 2011-08-23 11:09  zhengcong  阅读(231)  评论(0编辑  收藏  举报