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