文字列変数が '' でない場合に WHERE 句を含め、ID がリスト内のどこに存在するかを確認するクエリを SQL で作成するにはどうすればよいですか?
以下はうまくいかないようです。
DECLARE @var varchar(20)
DECLARE @clause varchar(20)
DECLARE @sql varchar(20)
SET @var= '1,2,3'
IF @var <> ''
SET @clause=' WHERE ID IN ('+ @var + ')'
SET @sql='SELECT [ID]
,[SOURCE]
,[LAST_KEY]
FROM [oms].[dbo].[MIGRATION]'
EXEC (@sql + @clause)
エラー メッセージ: メッセージ 156、レベル 15、状態 1、行 2 キーワード 'WHERE' 付近の構文が正しくありません。