2007年9月11日 星期二

將逗號串起來的字串轉為資料表方式

在 SQL 語法裡,將逗號串起來的字串,轉為 資料表

declare @str nvarchar(500)
set @str='526274,526275,526276'


declare @tmpStr nvarchar(500);
declare @tmpIndex nvarchar(500);
create table #tmpStrTb (empid nvarchar(50))
set @tmpStr=@str

while len(@tmpStr)>0
begin

if(charindex(',',@tmpStr)>0)
set @tmpIndex=(select substring(@tmpStr,1,charindex(',',@tmpStr)-1))
else
set @tmpIndex=@tmpStr

set @tmpStr=replace(@tmpStr,@tmpIndex,'')

if(substring(@tmpStr,1,1)=',')
set @tmpStr=substring(@tmpStr,2,len(@tmpStr)-1)


insert into #tmpStrTb (empid) values (@tmpIndex)
end

select * from #tmpStrTb
drop table #tmpStrTb