> Java > java지도 시간 > 본문

LIKE를 사용하여 준비된 문에서 와일드카드를 사용하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-15 12:32:02
원래의
814명이 탐색했습니다.

How to Use Wildcards in Prepared Statements with LIKE?

LIKE를 사용하여 준비된 문의 와일드카드 쿼리

데이터베이스 쿼리에 대해 준비된 문을 사용할 때 키워드로 검색 기능을 구현하려면 다음을 사용해야 하는 경우가 많습니다. LIKE 연산자. 이 가이드는 준비된 문으로 이를 달성하는 방법에 대한 포괄적인 솔루션을 제공합니다.

준비된 문에서 LIKE 연산자를 활용하려면 준비된 문에 제공된 값 내에서 검색어에 와일드카드 기호(%)를 추가할 수 있습니다.

String notes = "keyword%";
PreparedStatement pstmt = con.prepareStatement(
      "SELECT * FROM analysis WHERE notes LIKE ?");
pstmt.setString(1, notes);
ResultSet rs = pstmt.executeQuery();
로그인 후 복사

추가된 와일드카드로 값을 설정하면 "notes" 열에 입력 키워드가 포함된 모든 레코드와 일치하는 쿼리가 활성화됩니다. substring.

그러나 %, !, [, _ 및 ]를 포함한 특정 문자는 SQL에서 특별한 의미를 갖습니다. 이러한 문자를 적절하게 처리하려면 준비된 문의 ESCAPE 절을 사용하여 이스케이프해야 합니다. 예를 들면 다음과 같습니다.

String notes = "keyword%"
    .replace("!", "!!")
    .replace("%", "!%")
    .replace("_", "!_")
    .replace("[", "![");
PreparedStatement pstmt = con.prepareStatement(
        "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'");
pstmt.setString(1, notes + "%");
로그인 후 복사

이러한 문자를 이스케이프된 버전으로 바꾸면 준비된 문이 와일드카드를 올바르게 해석하고 그에 따라 레코드를 일치시킵니다.

검색 요구 사항에 따라 다양한 일치 시나리오를 달성하기 위한 와일드카드 배치:

  • 접두사 일치: 키워드 끝에 "%" 추가 (예: "keyword%")
  • 접미사 일치: 키워드 시작 부분에 "%" 추가(예: "%" "keyword")
  • 전체 일치: "%" 추가 키워드 양쪽 끝에 (예: "%" "키워드" "%")

위 내용은 LIKE를 사용하여 준비된 문에서 와일드카드를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿