>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 준비된 명령문과 함께 LIKE 와일드카드를 사용하는 방법은 무엇입니까?

MySQL에서 준비된 명령문과 함께 LIKE 와일드카드를 사용하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-14 08:48:11918검색

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

Prepared 문에 "like" 와일드카드 사용

Prepared 문을 사용하여 키워드 기반 검색 기능으로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.