1

ステートメントに次のWHERE条件があります。SELECT

WHERE ('.' + column_name LIKE @prefix))

そして、@prefixパラメータは次のように設定されます。

cmd.Parameters.AddWithValue("@prefix", "%[^a-z]" & prefix & "%")

prefix変数はフォーム入力から取得されます。

私が抱えている問題は、ユーザーが「%」または「[」またはその他の特殊文字を入力したときです。これらが特殊文字として扱われるのではなく、エスケープされていることを確認するにはどうすればよいですか?

関連:一般的に、入力に「%」を入力し、これをワイルドカードとして扱うのを防ぐにはどうすればよいですか?

4

1 に答える 1

2

SQL のLIKE演算子は、オプションのESCAPE句を提供します。

match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ]

エスケープ文字を好みの 1 文字に設定し、それを使用してメタ文字をエスケープできます。

于 2012-06-06T01:32:45.623 に答える