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 + "%");
이러한 문자를 이스케이프된 버전으로 바꾸면 준비된 문이 와일드카드를 올바르게 해석하고 그에 따라 레코드를 일치시킵니다.
검색 요구 사항에 따라 다양한 일치 시나리오를 달성하기 위한 와일드카드 배치:
위 내용은 LIKE를 사용하여 준비된 문에서 와일드카드를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!