t-sql使用逗号分割参数值时不拼接字符解决办法

create proc __test
(
@DataSource varchar(200)---'环境统计,污染源普查'
)
as
begin---proc
 
--参数处理将逗号分割的枚举型字符串拆分存储到临时表中(数据来源) Declare @ds table(Datasource varchar(50)) declare @index int declare @from int set @index=0 set @from =0
if LEN(@DataSource)>0 begin   while @from<=LEN(@DataSource)   begin    set @index= CHARINDEX(',',@DataSource,@from)    if @index=0    begin     set @index=LEN(@DataSource)+1    end    insert into @ds(Datasource)values(SUBSTRING(@DataSource,@from,@index-@from))    set @from=@index+1   end end
 
---参数条件应用
select * from T_bas_enterlist_Pro where
dataSource in (select DataSource from @ds)
 
end---proc
posted on 2014-08-15 17:18  记性特差  阅读(156)  评论(0)    收藏  举报