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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-12-14 08:48:11916ブラウズ

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

プリペアド ステートメントで「like」ワイルドカードを使用する

プリペアド ステートメントを使用して、キーワードに基づく検索機能を備えた MySQL データベース クエリを実行する場合、「like」ワイルドカードを使用して部分一致を検索できます。プリペアド ステートメントで「like」ワイルドカードを使用するには、プリペアド ステートメントの SQL 文字列ではなく、値自体にワイルドカードを設定する必要があります。

プレフィックス マッチの場合、値はその後に続くキーワードで置き換える必要があります。値内の特殊文字はエスケープしながら、パーセント記号 (「%」) で区切ります。例:

notes = notes
    .replace("!", "!!")
    .replace("%", "!%")
    .replace("_", "!_")
    .replace("[", "![");
PreparedStatement pstmt = con.prepareStatement(
        "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'");
pstmt.setString(1, notes + "%");

サフィックス一致の場合、キーワードに続くパーセント記号を使用して値を設定する必要があります。

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

グローバル一致の場合、値を設定する必要がありますキーワードの前後にパーセント記号を付けます。

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

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

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