В вашем примере мне кажется, что вы можете просто сделать это:
set @sql = @sql + 'and (ClassicStation.int_WheatherTypeId in ('+@a+'))
AND (ClassicStation.int_MeasurementId IN (1,2))'
В противном случае вы можете разделить строку с помощью функции разделения, которая расположена везде или как это
declare @a varchar(max)
set @a ='1,2,3,4' + ','
;with csv (col, pos) as
(
select left(@a, charindex(',', @a) -1),charindex(',', @a)
union all
select substring(@a, pos +1, charindex(',', @a, pos +1) - pos-1),
charindex(',',@a, pos+1) from csv
where pos < len(@a)
)
select * from csv