私はそのように宣言された文字列変数を持っています:
declare @myGeniuses as nvarchar(8000);
set @myGeniuses = ' in (1,2,3)';
次のようなselectステートメントで変数を適用したいと思います。
select * from GENIUSES where GeniusId @myGeniuses
私はそのように宣言された文字列変数を持っています:
declare @myGeniuses as nvarchar(8000);
set @myGeniuses = ' in (1,2,3)';
次のようなselectステートメントで変数を適用したいと思います。
select * from GENIUSES where GeniusId @myGeniuses
declare @t nvarchar(max)
set @t='select * from GENIUSES where GeniusId'+ @myGeniuses
exec @t
あなたがするだろう...
exec ('select * from GENIUSES where GeniusId' + @myGeniuses)
クエリステートメントを文字列として渡して実行できる結果を得るには、sp_executesqlを使用する必要があります。
詳細については、次を参照してください:http: //msdn.microsoft.com/en-us/library/ms188001.aspx
使用例:
DECLARE @sql AS NVARCHAR(MAX);
DECLARE @filter AS NVARCHAR(500);
SET @filter = ' in (1,2,3)';
SET @sql = 'select * from GENIUSES where GeniusId' + @filter;
EXECUTE sp_executesql @sql;