declare @sql nvarchar(2000),
@tt nvarchar(200),
@test int
set @tt='case where col1>100 then 150 else 300 end'
set @sql=' select '+@tt+' from tab1 where col2=500 'exec sp_executesql @sql,N'@test int output',@test output
@tt nvarchar(200),
@test int
set @tt='case where col1>100 then 150 else 300 end'
set @sql=' select '+@tt+' from tab1 where col2=500 'exec sp_executesql @sql,N'@test int output',@test output
@tt nvarchar(200),
@test int
set @tt='case where col1>100 then 150 else 300 end'
set @sql='create proc #ttt @o int output as select @o=(select '+@tt+' from tab1 where col2=500) '
execute(@sql)
exec #ttt @test output
declare @sql nvarchar(2000),
@tt nvarchar(200),
@test int
set @tt='case when col1>100 then 150 else 300 end'
set @sql=' select @test1 = '+@tt+' from tab1 where col2=500 'exec sp_executesql @sql , ' @test1 int output ' , @test output print @test