ホームページ >データベース >mysql チュートリアル >SQL のプリペアド ステートメントで LIKE ワイルドカードを使用するにはどうすればよいですか?

SQL のプリペアド ステートメントで LIKE ワイルドカードを使用するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-18 13:35:16752ブラウズ

How to Use the LIKE Wildcard with Prepared Statements in SQL?

プリペアド ステートメントでの "like" ワイルドカードの使用

プリペアド ステートメントは、特にユーザーを処理する場合に、SQL クエリを安全かつ効率的に実行する方法を提供します。入力。プリペアド ステートメントで LIKE キーワードを使用する場合、ワイルドカードを挿入する場所を理解することが重要です。

提供されたコードでは、pstmt.setString(1) に設定されている値に 'keyword%' を直接追加できます。 、注)。これは、コードを次のように変更することを意味します。

PreparedStatement pstmt = con.prepareStatement(
      "SELECT * FROM analysis WHERE notes like ?");
pstmt.setString(1, notes + "%");
ResultSet rs = pstmt.executeQuery();

メモにワイルドカードを直接追加することで、クエリの実行中に効果的にワイルドカードを値に追加することになります。これにより、前方一致検索を実行できるようになります。

後方一致またはグローバル一致検索の場合は、コードを変更します。したがって:

サフィックス マッチ:

pstmt.setString(1, "%" + notes);

グローバル マッチ:

pstmt.setString(1, "%" + notes + "%");

覚えておいてください、これは重要ですワイルドカードを追加する前に、ノート文字列内の % や _ などの特殊文字を適切にエスケープします。これにより、あいまいなパターンが防止され、正確な結果が保証されます。

以上がSQL のプリペアド ステートメントで LIKE ワイルドカードを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。