SQL-Serverの場合、これには2つの一般的なアプローチがあります。 3番目のオプション避けるべき varcharを渡すことです INを使用して動的SQLステートメントに連結します -これは明確なインジェクション攻撃対象領域です。
合理的なオプション:
-
varcharを渡します UDFを使用して、区切り文字でデータを分割します(この質問のように )、おそらくコンマ、パイプ、タブなど。結果に結合します:SELECT something, anotherthing FROM atable a INNER JOIN dbo.SplitUDF(@values) udf ON udf.Value = a.something - table-valued-parameter を使用します (SQL2008)そして直接参加する(UDFを避ける)