6 桁の文字列 (社会保障番号の一部を表す) のリストが与えられた場合、SSN がそれらの文字列の 1 つと一致するユーザーのデータセットを取得する必要があります。私のSQLは:
SELECT DISTINCT
u.ssn,
u.name
FROM user u
WHERE (u.ssn LIKE '%111111%' OR u.ssn LIKE '%222222%')
インライン SQL (インジェクション攻撃など) を生成する代わりに、プリペアド ステートメントを使用したいのですが、インライン SQL を作成せずにデータを取り戻す方法はありますか?
このサイトにも同様の質問がありますが、私の場合の問題は、LIKE の代わりに IN 句を使用するオプションがないことです。私は 6 桁しか与えられておらず、10 桁の SSN 全体を検索する必要があります。
ps これは、SQL Server バックエンドを持つ .Net アプリケーションです。