ホームページ >データベース >mysql チュートリアル >MySQL のプリペアド ステートメントで LIKE ワイルドカードを使用するにはどうすればよいですか?
プリペアド ステートメントで「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 サイトの他の関連記事を参照してください。