0

重複の可能性:
SQL IN 句をパラメータ化しますか?
SQL Server SP - 「IN」配列リストのパラメーターを渡しますか?

私のSPでは、参照テーブルからデータの文字列を取得して、SQL選択をフィルタリングしています。

ここにシナリオがあります、

Regionids = 2,6,8 この値を文字列 @regions に取得します

私のSPでは計算を行い、最後にデータを返すための大きなSQLを持っています。計算に基づいて、レコードを取得する日付と ID を取得します。また、リファレンスで指定されたリージョンよりも上に行を制限したいと考えています。

したがって、SELECT の Where 句では、AND RG.regionids IN ( @regions )

varchar 値 '2,6,8' をデータ型 int に変換するときに変換に失敗しました。

上記の要求をどのように達成できますか?

4

1 に答える 1

1

最も簡単な方法は、動的 SQL を使用することです。

EXECUTE('SELECT * 
         FROM   Region R 
         WHERE  R.RegionID IN (' + @regions + ')')
于 2012-08-07T19:13:44.137 に答える