0

私はそのように宣言された文字列変数を持っています:

declare @myGeniuses as nvarchar(8000);
set @myGeniuses = ' in (1,2,3)';

次のようなselectステートメントで変数を適用したいと思います。

select * from GENIUSES where GeniusId @myGeniuses
4

3 に答える 3

1
declare @t nvarchar(max)
set @t='select * from GENIUSES where GeniusId'+ @myGeniuses

exec @t
于 2012-05-23T19:43:35.667 に答える
1

あなたがするだろう...

exec ('select * from GENIUSES where GeniusId' + @myGeniuses)
于 2012-05-23T19:44:25.493 に答える
1

クエリステートメントを文字列として渡して実行できる結果を得るには、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; 
于 2012-05-23T19:44:51.800 に答える